我有一个表格如下:
user = get_user_model().get(...)
f = forms.UserForm(instance=user, initial={"username":"whatever"})
但是在渲染时,不显示初始数据,用户模型中包含的数据似乎具有优先权。
无论模型中写入了什么,如何强制初始数据显示在表单中?
答案 0 :(得分:1)
我知道这是旧的,我不知道这是否正是您所要求的,但这可能对其他人有所帮助:
class UserForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
kwargs['initial'] = {'username': 'whatever'} # Override instance initial
super().__init__(*args, **kwargs)
答案 1 :(得分:0)
在将user
实例传递给表单之前,只需更改它即可。除非您明确致电user.save()
,否则不会保存数据。