2013-10-24 99 views
3

我有一個模型,我想使用選項=選項,但三個深層次。Django字段的多級選擇

class Doctor(models.Model): 
... 
zipcode = models.CharField(max_length=10, choices=AREAS, null=True, blank=True) 

內的管理員的「郵政編碼」下拉菜單中,我想層次是:

Bronx 
--Kingsbridge 
----10463 
----10471 
--Fordham 
----10458 
----10467 
----10468 
Brooklyn 
--Borough Park 
----11204 
etc. 

然後,如果我選擇的郵政編碼10463,醫生對象將與金斯布里奇相關布朗克斯區。我正在嘗試多種不同的方式。我來最接近的是使用這樣的:

AREAS = (
    ('Bronx', (('Kingsbridge', ('10463', '10463'),),)), 
    ... 
) 

不幸的是,這給了我這個層次:

Bronx 
--('10463', '10463') 

這是奇怪而無益的。任何人都可以看到我要去哪裏嗎?這個層次是可能的嗎?難道是聰明的,只是在應用中創建名爲領域另一個表並使用多對多場?我越想到它,我越覺得我必須使用許多多元化的領域。在此先感謝

回答