python - ordering - django rest vs tastypie
Django-tastypie: ¿Algún ejemplo de carga de archivos en POST? (1)
Sus recursos deben verse así:
class FooResource(ModelResource):
img = fields.FileField(attribute="img", null=True, blank=True)
class Meta:
queryset = Foo.objects.all()
El attribute
debe corresponder al campo en el modelo. Como se indica en la documentación:
ApiField. atributo
Una cadena que da nombre a un atributo de instancia del objeto envuelto por el Recurso.
¿Alguien podría dar un ejemplo completo sobre el uso del FileField de tastypie, tanto del lado del servidor como del lado del cliente, por favor?
Esto es lo que he intentado:
#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()
Si intento crear un objeto foo usando curl, por ejemplo,
>>> curl -F "body=test" -F "img=@local_img.png" http://localhost:8000/api/0.1/foo/
Un objeto foo se crea correctamente, pero el campo img
es nulo. Puedo ver en el depurador que al guardar el objeto del paquete, de hecho, tiene un campo img que contiene un objeto InMemoryUploadedFile
, por lo que la solicitud probablemente esté bien. ¿Dónde estoy haciendo mal? Los fragmentos de código son bienvenidos, gracias!