今天使用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')
再新增一个人名
刷新表单页面,可以选择到新增项