2013-10-24 61 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') 

这是奇怪而无益的。任何人都可以看到我要去哪里吗?这个层次是可能的吗?难道是聪明的,只是在应用中创建名为领域另一个表并使用多对多场?我越想到它,我越觉得我必须使用许多多元化的领域。在此先感谢

回答