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