Python 如何在一个请求中创建多个对象?其中每个对象都有文件字段
我正在尝试创建多个documents对象,当我发送请求而不归档文件时,它会创建多个对象,但我不知道如何使用filefield从postman的“表单数据”或json格式的原始数据发送多个对象。请告诉我我能做些什么 我的文档模型是: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
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或路径,我认为这将是一个好主意