Мой вопрос относится к Как мне добавить список в FormData?
Однако я считаю, что на него нет хорошего ответа, поэтому я создаю другой вопрос и уточняю его.
Я намерен отправить данные на Django бэкэнд через ax ios из React. Данные включают изображения, значения первичного ключа и список значений первичного ключа.
Я понимаю, что FormData не может передавать целые числа или список целых чисел, а JSON не может передавать файл. Каков наилучший способ достичь того и другого?
Если я использую JSON, изображение не передается, и я получаю сообщение об ошибке
["The submitted data was not a file. Check the encoding type on the form."]
Если я использую FormData, поля ForeignKey содержат целые числа или список целых чисел (поле Many To Many) не передается, и я получаю сообщение об ошибке
["Incorrect type. Expected pk value, received str."]
Вопросы
Каков наилучший способ отправить все данные в бэкэнд?
1.) Следует ли мне вносить изменения в бэкэнд, чтобы он мог анализировать строки, это достижимо, но не кажется элегантным, поскольку бэкэнд должен быть обобщен для любого клиентского приложения и это похоже на конкретный случай проблемы?
2.) Есть ли способ отправить данные через ax ios частично как FormData и частично как JSON
3.) Будет ли отправка файл, преобразованный как bas64String в формате JSON вместе с данными, исправить эту проблему?
Какой самый эффективный и элегантный способ исправить это?