我希望这是有道理的,这就是我想做的事情(无论出于何种原因)。
我想在模型表单中创建非模型表单字段?
例如,下面我有一个模型表单,我希望 init 添加一个额外字段,不包含在模型中称为模板。我不保存这个新字段,所以它不需要在我的模型中或我希望它(我用它做一些花哨的ajax)。
forms.py
class testForm(forms.ModelForm):
def __init__(self, user=None, *args, **kwargs):
super(testForm, self).__init__(*args, **kwargs)
if user is not None:
this_templates = Template.objects.for_user(user)
self.fields["templates"] = forms.??????????
答案 0 :(得分:3)
你快到了:
self.fields["templates"] = forms.CharField()
如果您更喜欢其他字段类型,请选中the documentation以获取可能的选项。
有关其他背景信息,请查看Overloading Django Form Fields。