今天使用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')
再新增一個人名
刷新表單頁面,可以選擇到新增項