Django - создание нескольких таблиц из листов Excel

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

У меня есть рабочая книга Excel с несколькими листами, и я хочу иметь возможность создать таблицу для каждого листа. Рабочая книга поступает из API, поэтому я использую requests для загрузки рабочей книги. Я знаком с загрузкой рабочей книги Excel и созданием датафрейма для каждой вкладки, но я не уверен, как передать несколько датафреймов нескольким моделям в Django, не делая запрос get по одному разу для каждого листа.

Вот пример моей команды обновления для запроса получения плоского файла:

import os
import pandas as pd
import sys
import json
from datetime import date, datetime
from utils.update_dataset_command import UpdateDatasetCommand

class Command(UpdateDatasetCommand):

    app_label = 'my_app'
    model_name = 'table1'

    def pull_data(self, fields):

        # Pull the dataset from
        get_request = requests.get('URL.csv')
        dataframe = pd.read_csv(get_request.content)

        return dataframe

Я пытаюсь достичь того, чтобы иметь возможность делать что-то вроде:

Class Command(UpdateDatasetCommand):
     app_label = myapp
     model_names = ['table1', 'table2', 'table3']

     def pull_data(self, fields):
          get_request = requests.get('URL.xlsx')
          Excel = pd.ExcelFile(get_request.content)

          dataframes = {}
          for i in get_request.sheet_names:
               d = pd.read_excel(Excel, sheet_name=i)
               dataframes[i] = d

          return dataframes

Где таблицы 1, 2 и 3 будут обновляться одной и той же командой обновления в одном приложении. Основная причина, по которой я хочу обновлять все из одного приложения, заключается в том, чтобы избежать выполнения более одного запроса get. Так что если есть способ "сохранить" Excel куда-нибудь, где Django сможет получить к нему доступ для создания датафрейма из нескольких приложений, это тоже подойдет.

Мне удалось найти только примеры, в которых обновляется одна таблица из рабочей книги Excel с одной вкладкой, но если я пропустил учебник или документацию, пожалуйста, укажите мне правильное направление! Я предполагаю, что мне нужно сделать что-то, чтобы настроить файл dataset_admin.py и tasks.py с обработчиком Excel, но просто не уверен, что это правильное место для этого. Любые мысли приветствуются, спасибо заранее.

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