Массовая загрузка 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. Извините, если вопрос задан в неправильном формате

Вернуться на верх