Мое приложение Django позволит пользователям загружать файл Excel, а затем будет анализировать и визуализировать данные в этом файле.
Для обработки файлов Excel я представил модель с FileField
:
class DataFile(models.Model)
file = models.FileField(upload_to='data_files')
Далее я хочу создать несколько представлений API для этого приложения, которые бы брали файл, загруженный пользователем, манипулировали им с помощью объекта dataframe
Pandas и возвращали манипулированные данные.
Дляпример:
def some_api_view(request):
data_file = DataFile.objects.last()
dataframe = pandas.read_excel(data_file.file.path)
manipulated_dataframe = # ... dataframe manipulation goes on here ... #
return JsonResponse({'manipulated_dataframe': manipulated_dataframe'})
Меня беспокоит то, что каждое представление API, подобное этому, должно будет читать файл Excel самостоятельно.Можно ли спроектировать API таким способом, который позволял бы считывать файл в кадр данных только один раз (поскольку он всегда будет одним и тем же файлом), и тогда представления API будут отвечать только за извлечение этого кадра данных, манипулирование им и возвратманипулированные данными?
Я использую базу данных SQL, поэтому я не могу сохранить сам объект dataframe в базе данных.Кроме того, я бы предпочел не засорять его и не хранить его в поле.