У меня есть модель, которая по сути является просто строкой (django.db.models.CharField). Будет сохранено только несколько экземпляров этой модели. Как я могу использовать эти значения в качестве выбора в форме?
Для иллюстрации модель может быть BlogTopic
. Я хотел бы предложить пользователям возможность выбрать одну или несколько тем для подписки.
Я начал писать что-то вроде:
from mysite.blog.models import BlogTopic
choices = [(topic.id, topic.name) for topic in BlogTopic.objects.all()]
class SubscribeForm(forms.Form):
topics = forms.ChoiceField(choices=choices)
Но я не уверен, когда будет определено choices
. Я предполагаю, только когда модуль импортируется впервые (т.е. при запуске Django). Очевидно, что это не очень хороший подход.
Кажется, это было бы обычным требованием, но я не могу найти никаких примеров. Я подозреваю, что я могу упустить что-то очевидное здесь. В любом случае, заранее спасибо за ваши ответы.