2011-06-20 20 views
1

這是我的模型Django的模型表單集的情況下,確定每個窗體

class Business(models.Model): 
    address = models.ForeignKey(Address) 
    website = models.URLField(blank=True) 
    name = models.CharField(max_length=64) 
    mail_address = models.ForeignKey(Address,related_name="mailing_address") 

我的地址模型

class Address(models.Model): 
    address_line1 = models.CharField("Address line 1", max_length = 45) 
    address_line2 = models.CharField("Address line 2", max_length = 45, blank = True) 
    city = models.CharField(max_length = 50, blank = False) 
    state = USStateField() 
    postal_code = USZipCodeField() 

我嘗試寫用戶在其中輸入的業務視圖,並在同一地址信息時間 我想使用一個模型formset爲用戶填寫業務和郵寄地址 然而,我想這樣做,使用戶可以將郵件地址部分留空,如果它是相同的業務地址。

我如何做到這一點,因爲在我的地址模型沒有什麼可以留爲空白......

如果進一步的用戶希望編輯我如何渲染不同的情況下,該formset?

+0

您已經回答了您的問題:您必須允許至少一個地址FK在*模型*中爲空白。您可以在表單中處理驗證。 – kojiro

+0

你的意思是在商業模式? – ellieinphilly

+0

我的formset看起來像什麼? – ellieinphilly

回答

1
  1. 消除在樓內設有商務模式
  2. 的mail_adress外鍵添加一個普通CharField郵件列表
  3. 不要讓這個charfield需要。

稍後您可以檢查是否有郵寄地址並且適當地使用它。

If mailing_adress: 
    do stuff 
else: 
    use buisness.address 
相關問題