Я новичок в Джанго. Мне нужно реализовать два варианта POST;один из параметров URL, а другой из данных файла.
например, curl -X POST localhost:8000/api/test?key=value
ИЛИ curl -X POST -F "file=@myfile.json" localhost:8000/api/test
Я проверил ниже, но не смог.
class TestEntryView(ListCreateAPIView):
queryset = TestEntry.objects.all().order_by('-id')
parser_classes = (MultiPartParser, FormParser,)
serializer_class = TestEntrySerializer
def perform_create(self, serializer):
if self.request.FILES.get('file'):
file_obj = request.FILES['file']
filename = '/api/mytest/.temp/testfile'
with open(filename, 'wb+') as temp_file:
for chunk in file_obj.chunks():
temp_file.write(chunk)
with open(filename, 'r') as temp_file:
data = json.load(temp_file)
serializer.save(**data)
serializer.save()
=>perform_create()
не вызывается из-за сбоя при проверке поля. Есть ли рекомендуемый способ для этого?