Есть ли способ преобразовать загруженный файл Excel в CSV, используя сигнал django pre_save? - PullRequest
0 голосов
/ 07 мая 2020

Я хотел бы знать, можно ли преобразовать выбранный пользователем файл excel в CSV, используя сигналы django pre_save. Предположим, пользователь загружает файл test.xlsx, я хотел бы автоматически преобразовать этот файл, используя сигнал pre_save. После того, как пользователь загрузит файл, в моем FileField должен появиться файл test.csv.

1 Ответ

0 голосов
/ 07 мая 2020

Да, вы можете сделать это в pre_save, но желательно просто сделать это в форме Django или сериализаторе DRF, который обрабатывает загрузку. Таким образом, вы можете выдавать пользователю ошибки преобразования в виде ошибок проверки и т. Д. c.

Предполагая, что поле в вашей модели upload, вы должны использовать

  • clean_upload(self, file) в формах Django.
  • validate_upload(self, file) в сериализаторах DRF.

Просто верните новый ContentFile() с преобразованным содержимым из одного из них.

...