2013-08-30 2 views
2

그런 모델이 있습니다.장고 관리 외래 키 관련

class Country(models.Model) 
    name = models.CharField(200) 

class Zone(models.Model) 
    country = models.ForeignKey(Country) 
    name = models.CharField(200) 

class Town(models.Model) 
    zone = models.ForeignKey(Zone) 
    name = models.CharField(200) 

class Resource(models.Model) 
    country = models.ForeignKey(Country) 
    zone = models.ForeignKey(Zone) 
    town = models.ForeignKey(Town) 
    name = models.CharField(max_length=200) 
    ... 

나는 장고 관리자에서 자원 모델을 편집 할. 제가 3 백만 개의 도시 기록을 가지고 있기 때문에 자원 편집을 시도 할 때 도시 때문에 사이트가 중단됩니다. 지역과 관련된 도시 만 선택하고 싶습니다. 리소스 관리 페이지에서 영역이 변경되면 관련 마을도 표시됩니다.

구현할 생각이 있습니까? 나는이 기능 https://docs.djangoproject.com/en/1.4/ref/contrib/admin/#django.contrib.admin.ModelAdmin.formfield_for_foreignkey

을 사용하여 관리 양식을 표시하지만, 난 그냥 동적 영역에 따라 마을을로드 할 때

나는 그것을 할 수 있습니다.

답변

0

당신이 원하는 솔루션에 대한 대안 옵션이 될 것 선택 상자 A의 값을 변경 사용할 때

그것은 선택 상자 B를 채 웁니다 내장에 ModelAdmin 클래스 raw_id_fields 속성.

raw_id_fields 옵션에 지정된 외래 키에는 현재 선택한 값 (사례의 마을)과 정렬, 필터링 및 검색 양식이있는 모든 도시의 전체 기능 목록이 열리는 링크가 표시됩니다. Django 문서의 스크린 샷 예 :

자세한 내용은 https://docs.djangoproject.com/en/1.4/ref/contrib/admin/#django.contrib.admin.ModelAdmin.raw_id_fields