python - ordering - Django-tastypie: ¿Algún ejemplo de carga de archivos en POST?



tastypie ordering (1)

¿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 "[email protected]_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!

https://code.i-harness.com


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.





tastypie