Django模型表单和对象数据库id
发布时间:2020-12-20 11:15:15 所属栏目:Python 来源:网络整理
导读:我有一个复杂的 django对象,它具有其他类类型的属性.这是这样的: class Order: contractor - type Person some other fields.... 在我的表单中,我希望能够从下拉列表中选择现有的Person对象,或者添加一个带有表单的新对象.我已经设法创建表单和适当的工作流
我有一个复杂的
django对象,它具有其他类类型的属性.这是这样的:
class Order: contractor - type Person some other fields.... 在我的表单中,我希望能够从下拉列表中选择现有的Person对象,或者添加一个带有表单的新对象.我已经设法创建表单和适当的工作流程,但问题是保存Order本身,我根本无法获取已保存的Person实例的id.我这样做: def make_order(request): if request.method == 'POST': parameters = copy.copy(request.POST) contractor_form = ContractorForm(parameters) if contractor_form.is_valid(): contractor_form.save() parameters['contractor'] = ??? form = OrderForm(parameters) if form.is_valid(): form.save() return HttpResponseRedirect('/orders/') else: form = OrderForm() contractor_form = ContractorForm() return render_to_response('orders/make_order.html',{'order_form' : form,'contractor_form' : contractor_form}) 因此,如果POST请求到达此方法,我首先检查ContractorForm是否已填充 – 我假设如果表单有效,则表示要使用它.如果是,则保存,并希望将保存对象的数据库ID分配给适当的字段,以便OrderForm找到它. 我所有的表单都是ModelForms. 问题是: >有没有更好的方法来做到这一点? (从下拉菜单中选择或添加到位) – 更好或更多pythonic (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |