Django MultipleChice条目未刷新
我有一个SelectMultipleChoice小部件,它从mysql数据库获取数据并显示给用户Django MultipleChice条目未刷新,django,django-views,Django,Django Views,我有一个SelectMultipleChoice小部件,它从mysql数据库获取数据并显示给用户 list = [(x.pk, x.parameter) for x in Parameter.objects.all()] parameters = forms.CharField(label=("Available parameters"),widget=forms.SelectMultiple(choices=list) 例如,当前它将在其选择中显示类似[A,B,C] 如果我直接从数据库中
list = [(x.pk, x.parameter) for x in Parameter.objects.all()]
parameters = forms.CharField(label=("Available parameters"),widget=forms.SelectMultiple(choices=list)
例如,当前它将在其选择中显示类似[A,B,C]
如果我直接从数据库中删除“B”,我应该只能在selectmultiple小部件中看到[A,C](最初我认为会重新加载并再次从数据库获取数据),但情况似乎并非如此,它仍然会显示[A,B,C]。我希望SelectMultilet小部件在运行时实际显示当前数据库,或者至少刷新(F5)页面{似乎没有刷新小部件}。只有重新启动web服务器,它才会获取新的数据集
我想可能是某个缓存需要清除?感谢您的建议。
谢谢您需要将代码放入表单的init方法中,或者在表单创建时将选项传递给表单:
def SomeForm(forms.Form):
def __init__(self, *args, **kwargs):
choices = [(x.pk, x.parameter) for x in Parameter.objects.all()]
self.fields['parameters'] = forms.CharField(label="Available parameters", widget=forms.SelectMultiple(choices=choices)
只是想知道,为什么要在CharField上使用SelectMultiple小部件?