Как включить статическую информацию в Django Model?
Я провел последние несколько часов, пытаясь создать нечто, что, как я думал, будет очень тривиальным, но, увы, это не так...
Я создаю модель Django, которая задает пользователю случайный вопрос из списка: prompts.
Внутри моего models.py файла у меня есть:
from django.db import models
from .prompts import prompts
class Entry(models.Model):
question = str(random.choice(prompts))
answer = models.CharField(max_length=240)
Я использую общий CreateView для создания формы, и моя views.py содержит следующее:
from django.views.generic.edit import CreateView
from .models import Entry
class NewEntry(CreateView):
model = Entry
success_url = reverse_lazy('detail')
fields = ['question', 'answer']
Все мигрирует правильно, но когда я перехожу на соответствующую страницу в браузере, Django жалуется: FieldError at /create/ | Unknown field(s) (question) specified for Entry
Я понимаю, что question не является полем как таковым, но мне нужно, чтобы оно сохранялось как часть экземпляра Entry, чтобы в будущем я мог прочитать и ответ, и вопрос, который был задан в то время. Естественно, мне также нужно, чтобы он отображался в шаблоне как часть формы, которую выдает CreateView. Установка вопроса в качестве поля CharField, которое не редактируется, также не работает, как предполагалось.
Единственные члены модели по умолчанию, о которых я знаю, это поля, но действительно ли нет функциональности по умолчанию для простых статических данных, которые являются частью экземпляра, таких как заголовок (или в данном случае вопрос)?
Я уверен, что есть простое решение, но пока что это заставляет меня чувствовать себя особенно глупо! Любая помощь будет высоко оценена. Заранее спасибо.