используя csvimpoter в Django - PullRequest
       4

используя csvimpoter в Django

0 голосов
/ 18 октября 2011

Я хочу импортировать весь CSV-файл в модель, не читая строку за строкой из файла. Пожалуйста, помогите мне, предоставив пример модели и исходный код для импорта.

1 Ответ

0 голосов
/ 18 октября 2011

Если вы открываете файл с диска, вы можете обернуть свой файловый объект в django.core.files.File и передать его методу сохранения поля модели, в которое вы сохраняете его:

from django.core.files import File
csv_file = open("sample.csv", "rb")
csv_file = File(csv_file)
my_model_instance.my_file_field.save("sample.csv", csv_file)

См. https://docs.djangoproject.com/en/1.3/ref/files/file/#additional-methods-on-files-attached-to-objects

Если вы имеете дело с загруженным файлом из request.FILES, вы можете назначить его непосредственно в FileField экземпляра вашей модели:

my_model_instance.my_file = request.FILES["csvfile"]
my_model_instance.save()

Don 'не забудьте enctype="multipart/form-data" в форме или запросе. ФАЙЛЫ будут пустыми.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...