У нас есть файл CSV, который мы импортируем в приложение Django, а затем создаем соответствующие модели и отношения.
На первой странице у нас есть форма загрузки файла, где пользователь выбирает файл.
Затем мы анализируем файл и возвращаем вторую страницу с указанием того, что будет создано, все ошибки проверки и т. Д.
Затем пользователь может решить, продолжать или нет (или, возможно, исправить какие-либо области на экране).
Как лучше всего хранить временные промежуточные модели, прежде чем они действительно попадут в базу данных?
Файл CSV будет довольно большим, возможно, размером около 200 КБ, и позволит создать несколько сотен моделей.
Должен ли я хранить это где-нибудь в базе данных и маркировать эти модели как "временные"? Это кажется немного тяжелым только для подтверждения, и я не уверен, что это правильное использование базы данных. Или есть какой-нибудь способ, которым мы могли бы сохранить это в сессиях Django? Или любой другой способ сделать это?
Я упоминал об этом ранее на django-users, и они предлагали либо использовать отдельную БД, либо хранить ее в MongoDB. Я не совсем уверен, что лучший способ сохранить модель Django в MongoDB таким образом.
Они также отметили, что мне может понадобиться что-то вроде ZeroMQ или django-celery для асинхронной обработки процесса импорта в случае, если время ожидания веб-сервера истекло.
Во всяком случае, я подумал, что я также должен привлечь внимание к SO-сообществу, поскольку здесь также скрывается множество ярких людей из Django =).
Cheers,
Victor