2013-10-24 6 views
3

나는 choose = 옵션을 사용하고 싶지만 3 단계 깊이있는 모델이 있습니다.장고 다중 레벨 선택 필드

관리자에서 "우편 번호"드롭 다운 내
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') 

합니다. 아무도 내가 잘못 가고있는 것을 볼 수 있습니까? 이 계층 구조가 가능합니까? 영역이라는 응용 프로그램에 다른 테이블을 만들고 manytomany 필드를 사용하는 것이 현명합니까? 더 많이 생각할수록 더 많은 필드를 사용해야한다고 생각합니다. 미리 감사드립니다

답변

0

https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.Field.choices에 따르면 은 2 레벨 계층 구조로만 지원됩니다. 2 레벨 이상이 필요한 경우, 사용자 정의 위젯 (또는) 외래 키 관계가있는 여러 필드를 사용해야합니다.

+0

나는 그것이 반드시 있어야한다고 생각했다. 사실 다른 테이블을 만들고 외래 키를 사용하는 것으로 끝났습니다. 링크 주셔서 감사합니다. – pyetti

관련 문제