谁能给出一个关于使用 tastypie FileField 的完整示例,包括服务器端和客户端吗?
这是我尝试过的:
#models.py
class Foo(models.Model):
img = models.ImageField(upload_to="images", null=True, blank=True)
body = models.CharField()
#api.py
class FooResource(ModelResource):
img = fields.FileField(attribute="image", null=True, blank=True)
class Meta:
queryset = Foo.objects.all()
如果我尝试使用curl创建一个foo对象,例如,
>>> curl -F "body=test" -F "img=@local_img.png" http://localhost:8000/api/0.1/foo/
foo 对象已成功创建,但是img
字段为空。我可以在调试器中看到,保存捆绑对象时确实有一个 img 字段,其中包含InMemoryUploadedFile
对象,所以请求可能没问题。
我哪里做错了?非常欢迎代码片段,谢谢!
您的资源应如下所示:
class FooResource(ModelResource):
img = fields.FileField(attribute="img", null=True, blank=True)
class Meta:
queryset = Foo.objects.all()
The attribute
应与模型中的字段相对应。
如文档中所述:
Api 字段。属性
命名资源包装的对象的实例属性的字符串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)