Массовая загрузка Django занимает 30 секунд для обработки 100 записей
Я работаю над проектом по страхованию путешественников, в котором одним из моих требований является предоставление агентам возможности массовой загрузки путешественников с заранее купленными полисами и пакетами. Мне как-то удалось создать этот процесс, но, к сожалению, на обработку 100 строк листа excel уходит 30 секунд. Это очень плохо для пользователей, большинство агентов будут загружать не менее 1000 путешественников в месяц. Пожалуйста, помогите указать на проблему и как это можно оптимизировать в дальнейшем
Это поток:
Admin -> Создает льготы (например: медицинские расходы, кража и т.д.) Admin -> Create Policy -> Attach Package (один полис может содержать много пакетов) -> Choose Benefits and its limits -> Done
(Примечание: Для каждой льготы будет выделена сумма, сохраненная в таблице PackageBenefit при создании политики)
Агенты -> Загрузка путешественника через Excel
Excel -> User -> Traveller -> PolicyHolder (путешественник, купивший полис) -> PolicyUsage (здесь я храню детали пакета, льготы и их выделенную сумму)
Вот эти модели
User
- Путешественник (1-1 с пользователем)
- Политик
- Пакет (Иностранный с Политикой)
- Выгоды
- PackageBenefit (Foreign with Policy, Package, здесь хранится max_allocated money for the benefit in package)
- PolicyHolder (Хранит всю информацию, когда путешественник покупает/прикрепляется к полису, иностранец с traveller, policy, package)
- PolicyUsage (Иностранный с Policy, Package, max_allocated и создается, когда путешественник привязывается к полису)
На данный момент я использую pandas для предварительной обработки листа excel, а также выполняю валидацию здесь. После проверки я создаю массовую загрузку. Вот мой код;
Дайте мне знать, если мне нужно поделиться чем-то еще, и это мой первый вопрос на stackoverflow. Извините, если вопрос задан в неправильном формате