2011-07-17 47 views
1

我要求一個表單上的地址 - 結算和交付兩次。地址被建模爲一個對象。比較2 django模型表格

如何比較兩個模型的值是否相同 - 如果是這樣,我將在兩種情況下使用與我的客戶對象相同的外鍵。

回答

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 

從實用性的角度來看,最好不要讓顧客輸入相同的地址細節兩次 - 給他們一個複選框例如「使用送貨地址作爲賬單地址?」。

+0

太好了,謝謝。這是因爲這個可用性功能,我想讓我的數據庫也變得更好。 – Pete