我有一个 django modelForm,它已成功提交,直到我在 forms.py 中添加此代码:
def __init__(self, own_id=None, **kwargs):
super(WebrequestsForm, self).__init__(**kwargs)
if own_id:
self.fields['veh_id1'].queryset = Vehicles.objects.filter(own_id1=own_id)
self.fields['veh_id2'].queryset = Vehicles.objects.filter(own_id2=own_id)
我这样做是因为我想限制上述外键的条目。之后,只有相关选项按预期出现在表单中,但无法提交表单。
我收到以下错误:
Cannot convert <QueryDict: {u'attachment2flag': [u'on'], u'nod_id1': [u'70'], u'vrd_id': [u'1'], u'nod_id2': [u'50'], u'tel': [u'2310566167'], u'directiondb': [u'1'], u'rdateto': [u'1/2/2013'], u'sendmethod': [u'1'], u'fax': [u'2310511559'], u'submitdate': [u'1'], u'email': [u'info@rdfvfvd.com'], u'veh_id2': [u'878'], u'veh_id1': [u'2978'], u'returnflag': [u'1'], u'reqtype': [u'1'], u'remarks': [u'1'], u'csrfmiddlewaretoken': [u'1Vhl04H1HgelkDdnS6IsCw61dtSyitkX'], u'rdatefrom': [u'1/2/2012'], u'id': [u'22065'], u'own_id': [u'148']}> to Decimal
veh_id1 和 veh_id2 是十进制字段,所以我猜想通过过滤尝试将错误保存在那里。如何在下拉列表中返回self.fields['veh_id1'].queryset = Vehicles.objects.filter(own_id1=own_id)
需要保存的对象的 ID?
我能感觉到问题出在哪里,但我不知道如何解决这个问题,因为我是 django 的新手。