У меня model.py, как показано ниже, и я пытаюсь сделать несколько загружаемых файлов за один запрос.
и другие поля в модели, я помещаю значения в бэкэнд так,что мне нужно именно так, как отправлять массив данных (файлов) в одном запросе и обрабатывать файлы и создавать записи для каждого отдельного файла отдельно?
Я также много читаю и вижу много ответов, но ячувствовал, что решение зависит от случая, может быть, потому что я не получил его, будет
, пожалуйста, кто-нибудь может мне помочь?
models.py
file_name = models.FileField(upload_to='docs/', null=True, blank=True)
created_by = models.ForeignKey(User, related_name='file_created_by', blank=True, null=True,on_delete=models.DO_NOTHING)
created_date = models.DateTimeField(auto_now_add=True)
serializers.py
class FileSerializer(serializers.ModelSerializer):
class Meta:
model = File
fields = '__all__'
def __init__(self, *args, **kwargs):
many = kwargs.pop('many', True)
user = kwargs['context']['request'].user
super(FileSerializer, self).__init__(many=many, *args, **kwargs)
def create(self, validated_data):
validated_data['status'] = 'in_progress'
self.context["file_name"] = self.context['request'].FILES.get("file_name")
obj = File.objects.create(**validated_data)
return obj
views.py
class FileCreateAPIView(CreateAPIView):
queryset = File.objects.all()
serializer_class = FileSerializer
permission_classes = [IsOwnerOrReadOnly]
def get_queryset(self):
return File.objects.all()
def perform_create(self, serializer):
serializer.save(created_by=self.request.user, updated_by=self.request.user)