Результаты анкетирования будут загружены в виде электронной таблицы
Итак, у меня есть эта модель, а именно анкета в models.py файле проекта Django
class Questionnaire(models.Model):
title = models.CharField(max_length=200)
description = models.TextField(blank=True, null=True)
formula = models.CharField(
max_length=200,
default='{total}',
help_text="Formula to calculate the total score for this questionnaire. Use {total} and {number_of_questions} as placeholders."
)
color = models.CharField(
max_length=7,
default='#000000',
help_text="Color in HEX format. Examples: #FF5733 (red), #33FF57 (green),"
" #3357FF (blue), #FF33A1 (pink), #A133FF (purple), #33FFF5 (cyan), #FF8C33 (orange)"
)
что я хочу сделать, так это загрузить результаты анкетирования в виде развернутого листа?
у меня также есть admin.py файл, содержащий модель, чтобы представить или показать ее в пользовательском интерфейсе следующим образом
class QuestionnaireAdmin(nested_admin.NestedModelAdmin):
model = Questionnaire
inlines = [QuestionInline]
list_display = ['title', 'description', 'color']
search_fields = ['title', 'description']
поэтому я думаю, что лучший способ сделать это - добавить кнопку действия, и клиент сможет загрузить ее одним щелчком мыши
Возможно, вы захотите попробовать django-импорт-экспорт. Следуйте инструкциям по установке , после чего вы сможете настроить свой admin.py
следующим образом:
# ... other imports
from import_export.admin import ExportMixin
class QuestionnaireAdmin(nested_admin.NestedModelAdmin, ExportMixin):
model = Questionnaire
inlines = [QuestionInline]
list_display = ['title', 'description', 'color']
search_fields = ['title', 'description']
Это добавит кнопку загрузки в вашу панель администратора. Для получения дополнительных настроек, пожалуйста, обратитесь к официальной документации