【发布时间】:2014-07-23 15:30:48
【问题描述】:
提交后我无法从 django 表单中取回对象。
我有一个由另一个 python 包填充的对象列表(用MyObject 填充,而不是 django 模型)。
在models.py,我有:
class MyObjectForm(forms.Form):
def __init__(self, *args, **kwargs):
# Get the list
myobjects = kwargs.pop('myobjects')
super(MyObjectForm, self).__init__(*args, **kwargs)
choices = [(o, o.name) for o in myobjects]
self.fields["my_objects"] = forms.TypedChoiceField(choices=choices)
有关信息,HTML 看起来不错。
在views.py 中,当我单击提交按钮时,form.is_valid() 始终是False。有问题吗?
当我更改 models.py 时:
self.fields["my_objects"] = forms.TypedChoiceField(choices=choices, required=False)
在views.py 中,form.is_valid() 是True,但我无法取回我的对象MyObject(我得到一个空值)。那可能吗 ?如果是,我该怎么做?
【问题讨论】: