使用反序列化将Zip文件发布到Django REST Framework

时间:2014-10-21 14:28:59

标签: django django-rest-framework

使用Django REST Framework,我想构建一个REST端点,我可以POST使用包含多个文件的zip文件。我想将POSTed zip文件解压缩,然后将内容映射到一个或多个Models。我的模型看起来像:

class Package(models.Model):
    name = models.CharField(...)

class File(models.Model):
    package = models.ForeignKey(Package)
    hash = models.CharField(...)
    filename = models.FileField(upload_to="files")

我想在POST zip文件时,序列化程序为上传zip中包含的每个文件创建一个新PackageFile

我最初的想法是将ModelSerializer子类化并将field_from_native方法覆盖为:

 def field_from_native(self, data, files, field_name, into):
     data['file_set'] = self.make_file_set_from_zip(files[zip_field_name])

这是在DRF中处理zip文件的正确方法吗?

0 个答案:

没有答案