Występuje problem podczas opracowywania api z degustem. To, czego chcę, to wiedzieć, czy istnieje sposób, aby opublikować zdjęcie bezpośrednio w serwisie json.Jak przesłać plik/obraz za pomocą funkcji tastypie
W moich modeli teraz używam ImageField:
class MyClass(models.Model):
description = models.TextField()
user = models.ForeignKey(User)
photo = models.ImageField(upload_to="image", null=True, blank=True)
Wtedy w moim pliku 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()
kiedy wysłać to podstawowy json tylko użytkownik i opis to działa? dobrze. Wtedy, kiedy idę, aby dodać informacje o moim obrazie:
{ ... ,
photo : {
Content-Type : "image/png",
file : "base64string", <----- this one contains the file as a long string
name : "test.png"
} ...}
otrzymuję komunikat o błędzie: obiekty „DICT” nie ma atrybutu „_commited”
Czy istnieje „czysta droga”, aby przesłać plik natywnie z tastypie czy powinienem użyć Base64FileField?
Dziękuję
Musisz napisać zwyczaj 'hydrate_photo()' funkcja, która trwa w JSON dokument podrzędny i zapełnia FileField - TastyPie nie obsługuje tego, co próbujesz zrobić zaraz po wyjęciu z pudełka. – cpf
Ok, dziękuję za odpowiedź –