在我的 Django (1.2) 项目中,我想在模型表单中预填充一个字段,但我的新值被忽略了。 这是片段:
class ArtefactForm(ModelForm):
material = CharField(widget=AutoCompleteWidget('material', force_selection=False))
def __init__(self, *args, **kwargs):
super(ArtefactForm, self).__init__(*args, **kwargs)
self.fields['material'].initial = 'Test'
我也尝试使用 self.base_fields
,但没有效果:表单中始终显示数据库值。有什么想法吗?
最佳答案
试试这个:
def __init__(self, *args, **kwargs):
initial = kwargs.get('initial', {})
initial['material'] = 'Test'
kwargs['initial'] = initial
super(ArtefactForm, self).__init__(*args, **kwargs)
关于python - 覆盖 ModelForm 中的初始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2988548/