5

我在使用美味派开发 api 时遇到问题。我想要的基本上是知道是否有办法直接在json中将图像发布到tastepie。

现在在我的模型中,我正在使用 ImageField :

  class MyClass(models.Model):
      description = models.TextField()
      user = models.ForeignKey(User)
      photo = models.ImageField(upload_to="image", null=True, blank=True)

然后在我的 api 文件中:

    class InquiryResource(ModelResource):
        user = fields.ForeignKey(UserResource, 'user' ,full=True)
        photo = fields.FileField(attribute = 'photo', null=True, blank = True)

        class Meta :
            queryset = MyClass.objects.all()
            resource_name = "MyClass"
            authorization = Authorization()

当我发送这个只有用户和描述的基本 json 时,它运行良好。然后当我去添加关于我的图像的信息时:

    { ... ,
    photo : {
       Content-Type : "image/png",
       file : "base64string", <----- this one contains the file as a long string
       name : "test.png"
    } ...}

我收到一条错误消息:“dict”对象没有属性“_commited”

有没有一种“干净的方式”可以使用tastepie本地上传文件,还是应该使用Base64FileField?

谢谢

4

1 回答 1

0

是的,您可以只使用 Base64FileField:https ://gist.github.com/jstarcher/ef8d91b8e8d058178f20

阅读有关此的更多信息:https ://github.com/toastdriven/django-tastypie/issues/42

于 2014-12-26T21:10:59.950 回答