我有一个模型表单,当我从视图中调用表单时,我试图将一个初始值传递给其中一个字段。
我的看法如下:
threadform = ThreadForm(text="hello")
模型形式如下:
class ThreadForm(ModelForm):
class Meta:
model = Thread
fields = ['title']
def __init__ (self,*args, **kwargs):
self.fields['title'].initial = kwargs.pop("text")
super (ThreadForm, self).__init__(*args, **kwargs)
这将导致错误“ ThreadForm”没有属性“ fields”。
如果我撤消超级调用,则会得到“ init ()得到意外的关键字参数'text'”。
请他人提供帮助,因为我似乎找不到正确的方法来获取任何信息,因为其他人似乎正在设置硬编码的初始值,但是我的想法是动态的,因为我想用数据替换文字“ hello”来自模型。
答案 0 :(得分:1)
threadform = ThreadForm(initial={'fieldname': value})
您可以执行此操作,而无需使用表单中的构造函数