【发布时间】:2015-08-19 18:22:49
【问题描述】:
我有一个简单的表单,它提供了 django 模型中所有可用条目的下拉菜单。
forms.py
class SampleNameLookupForm(forms.Form):
#Make a list of sample name options for dropdown menu.
# Turn that into a list of tuples for ChoiceField.
samples = Sample.objects.all()
sample_list = [i.sample_name for i in samples]
sample_tuple = [(i, i) for i in sample_list]
Sample_Name = chosenforms.ChosenChoiceField(sample_tuple)
models.py
class Sample(models.Model):
sample_ID = models.CharField(max_length=20)
sample_name = models.CharField(max_length=30)
def __unicode__(self):
return self.sample_ID
class Meta:
ordering = ['id']
当我向模型添加新样本时,在 mysql 或 python manage.py shell 中访问模型时可以看到新添加的内容,但它没有出现在所选字段下拉菜单中。
当我重新启动服务器时,表单会在下拉菜单中反映新样本。如何在不重启服务器的情况下更新下拉菜单?
我应该提到我只是在本地托管,目前还没有生产。
【问题讨论】:
-
您应该将该代码放在表单的
__init__方法中,而不是直接放在类主体中。 -
您介意提供一个例子吗?当我尝试这个时,我似乎遇到了一些错误。
标签: python django jquery-chosen