Результаты анкетирования будут загружены в виде электронной таблицы

Итак, у меня есть эта модель, а именно анкета в 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']

Это добавит кнопку загрузки в вашу панель администратора. Для получения дополнительных настроек, пожалуйста, обратитесь к официальной документации

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