¿Cómo se carga un archivo con una solicitud POST en django-tastypie?

Posible duplicado:
Django-tastypie: ¿Algún ejemplo sobre la carga de archivos en POST?

Actualmente hago solicitudes POST a mi API como así

curl --dump-header - -H "Content-Type: application/json" -X POST --data '{"username":"theusername", "api_key":"anapikey", "video_title":"a title", "video_description":"the description"}' http://localhost:8000/api/v1/video/ 

pero ahora necesito poder agregar un archivo de video a la carga. He estado buscando durante unas horas la carga de archivos con Tastypie y no he encontrado una respuesta sólida. ¿Necesito agregar la encoding Base64? ¿Si es así, cómo? ¿Cómo accedo al archivo después de haberlo cargado con una solicitud POST? Solo acciones normales de acciones. No estoy buscando guardar el archivo en la base de datos, solo obtén la ruta al archivo.

 #Models.py class Video(models.Model): video_uploader = models.ForeignKey(User) video_path = models.CharField(max_length=128) video_views = models.IntegerField(default=0) upload_date = models.DateTimeField(auto_now_add=True) video_description = models.CharField(max_length=860) video_title = models.SlugField() 

Estoy completamente confundido sobre cómo implementar un sistema de carga de archivos para Tastypie, por lo que cualquier ayuda sería muy apreciada. ¡Gracias!

Aquí está la manera de subir archivos por MultiPart través de django-tastypie .

Modelos.py

 class Video(models.Model): video_uploader = models.ForeignKey(User) video = models.FileField(_('Video'), upload_to='path_to_folder/') # save file to server video_views = models.IntegerField(default=0) upload_date = models.DateTimeField(auto_now_add=True) video_description = models.CharField(max_length=860) video_title = models.SlugField() 

Api.py

 class MultipartResource(object): def deserialize(self, request, data, format=None): if not format: format = request.META.get('CONTENT_TYPE', 'application/json') if format == 'application/x-www-form-urlencoded': return request.POST if format.startswith('multipart'): data = request.POST.copy() data.update(request.FILES) return data return super(MultipartResource, self).deserialize(request, data, format) class VideoResource(MultipartResource, ModelResource): """ Inherit this Resource class to `MultipartResource` Class """ # Assuming you know what to write here ... 

Y luego a través de CURL

 curl -H "Authorization: ApiKey username:api_key" -F "video=/path_to_video/video.mp3" -F "video_title=video title" http://localhost:8000/api/v1/video/ -v