Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在一个请求中创建多个对象?其中每个对象都有文件字段_Python_Django_Django Rest Framework_Postman_Filefield - Fatal编程技术网

Python 如何在一个请求中创建多个对象?其中每个对象都有文件字段

Python 如何在一个请求中创建多个对象?其中每个对象都有文件字段,python,django,django-rest-framework,postman,filefield,Python,Django,Django Rest Framework,Postman,Filefield,我正在尝试创建多个documents对象,当我发送请求而不归档文件时,它会创建多个对象,但我不知道如何使用filefield从postman的“表单数据”或json格式的原始数据发送多个对象。请告诉我我能做些什么 我的文档模型是: class Document(models.Model): employee = models.ForeignKey(EmployeeInfo, on_delete = models.CASCADE) document = models.CharFie

我正在尝试创建多个documents对象,当我发送请求而不归档文件时,它会创建多个对象,但我不知道如何使用filefield从postman的“表单数据”或json格式的原始数据发送多个对象。请告诉我我能做些什么

我的文档模型是:

class Document(models.Model):
    employee = models.ForeignKey(EmployeeInfo, on_delete = models.CASCADE)
    document = models.CharField(max_length=255, help_text='passport')
    date_added = models.DateField()
    valid_until = models.DateField(null = True, blank = True)
    detail = models.TextField(null=True, blank=True)
    attachment = models.FileField(upload_to='attachments', null=True, blank=True)
为此,我的看法是:

class DocumentAPICreateView(CreateAPIView):
    serializer_class = DocumentSerializer
    permission_classes = [IsAuthenticated]

    def create(self, request, *args, **kwargs):
        serializer = self.get_serializer(data=request.data, many = True)
        if serializer.is_valid():
            self.perform_create(serializer)            
            headers = self.get_success_headers(serializer.data)
            response = create_response(True,data = serializer.data)        
            return Response(response, status=status.HTTP_201_CREATED, headers=headers)
        else:
            response =  create_response(False, err_name = serializer._errors)
            return Response(response, status = status.HTTP_400_BAD_REQUEST)
当我发送不带附件的数据时,其工作原理如下:

[{

    "employee":38,
    "document":"Trial2",
    "date_added":"2019-12-10"
},
{

    "employee":38,
    "document":"Trial3",
    "date_added":"2019-12-10"
}]
此的序列化程序是:

class DocumentSerializer(serializers.ModelSerializer):
    class Meta:
        model = Document
        fields = '__all__'

如何发送带有附件字段的对象列表?

能否发布您的DocumentSerializertoo@Philip我为此发布了序列化程序。我认为,在一个请求中上载多个文件,并为此创建另一个api不是一个好主意,当您选择“文件上载”时,只需发送文件id或路径,在我看来,这将是好的,你能发布你的文档序列化程序吗too@Philip我为此发布了序列化程序。我认为,在一个请求中上载多个文件,并为此创建另一个api不是一个好主意,当您选择“文件上载”时,只需发送文件id或路径,我认为这将是一个好主意