今天使用django的forms,发现单选后台新增数据后,前端表单选项不能刷新
class UserForm(forms.Form):
name = forms.ChoiceField(
choices=User.objects.values_list('id', 'name')
)
后台用户表新增一个用户
刷新表单页面,没有选择项
重启服务器后,表单页面出来选项
这个问题主要是choice字段初始化后不会再次更新,实际项目中不可能增加数据后再重启服务器
调整form
class UserForm(forms.Form):
name = forms.ChoiceField(
# choices=User.objects.values_list('id', 'name')
) def __init__(self, *args, **kwargs):
super(UserForm,self).__init__(*args, **kwargs)
self.fields['name'].choices = User.objects.values_list('id', 'name')
再新增一个人名
刷新表单页面,可以选择到新增项