我要求在表单上填写两次地址 - 结算和发送。地址被建模为对象。
如何比较两个模型的值是否相同 - 如果是,我将在两种情况下使用客户对象中的相同外键。
答案 0 :(得分:1)
您可以比较两种表单的cleaned_data
。
if request.method == "POST":
billing_form = AddressForm(prefix="billing", data=request.POST)
address_form = AddressForm(prefix="delivery", data=request.POST)
if billing_form.is_valid() and address_form.is_valid():
if billing_form.cleaned_data == address_form.cleaned_data:
# addresses are the same
else:
# addresses are not the same
从可用性的角度来看,最好不要让客户两次输入相同的地址详细信息 - 给他们一个勾选框,例如“使用送货地址作为帐单邮寄地址?”。