我正在创建一个使用MultipleChoiceField的表单。该字段的值来自另一个模型。这种方法工作正常,但是,我注意到(在生产服务器上),当我向问题模型(NoticeType)添加新项目时,表单不会动态更新。我必须重新启动服务器才能使新项目显示在我的MultipleChoiceField上。Django:表单值更新时不更新
对NoticeType模型的任何更改(编辑项目或创建新项目)都不会传播到窗体。我重新启动生产服务器后,出现更新。
任何想法,为什么这可能是?表格的相关部分如下。谢谢。
from django import forms
from django.contrib.auth.models import User
from notification.models import NoticeType
class EditUserProfileForm(forms.Form):
CHOICES = []
for notice in NoticeType.objects.all():
CHOICES.append((notice.label,notice.display))
notifications = forms.MultipleChoiceField(
label="Email Notifications",
required=False,
choices=(CHOICES),
widget=forms.CheckboxSelectMultiple,)
嘿!很好 - 立即修复它。在发布之后,我实际上有一个类似的想法,但并没有考虑'__init __()'方法......我想我可以在返回列表的类之外创建一个新函数......但我甚至喜欢这个更好。谢谢! – thornomad