2014-03-04 2 views
0

django 스마트 셀렉트로 재료와 범주를 연결하려고하지만 작동하지 않습니다.Django smart select

내 코드가 잘못 되었나요?

class Demande_Expertise(models.Model): 
    user = models.ForeignKey(User) 
    material = models.ForeignKey("Material") 
    categorie = ChainedForeignKey("material.Category", 
          chained_field="material", 
          chained_model_field="name", 
          show_all=False, 
          auto_choose=True)       
    droits_acces = models.CharField(_('val_champ'), max_length=150, choices = DROITS) 
    groupe = models.ForeignKey(Group, blank = True, null= True, default = None) 
    etat = models.CharField(_('val_champ'), max_length=150, choices = ETAT, default = '2') 

class Category(models.Model): 
    name = models.CharField(_('name'), max_length=50) 
    slug = models.SlugField() 

class Material(models.Model): 
    name = models.CharField(_('name'), max_length=50) 
    description = models.TextField(_('description'), blank=True) 
    slug = models.SlugField() 
    category = ChainedForeignKey(Category, verbose_name=_('category'), 
          chained_field="name", 
          chained_model_field="name", 
          show_all=False, 
          auto_choose=True) 
    created = models.DateField(_("creation date"), auto_now_add=True) 

답변

1

+0

를 작동하는 예를 제공하고 잘못된 내 장고 1.6 프로젝트에서 사용

https://github.com/PragmaticMates/django-clever-selects

장고 영리한 선택을보십시오 이 응용 프로그램을 사용하는 방법을 공유 할 수'django - 똑똑 - 선택 '제발? – bgarcial

+1

정확히 프로젝트 페이지에 설명되어있는 readme –

+0

그리고 장고 관리자에게도 적용 하시겠습니까? – bgarcial

0

귀하의 구조는 내가 당신에게

class Continent(models.Model): 
     name = models.CharField(max_length=255) 
     def __str__(self): 
      return self.name 

    class Country(models.Model): 
     continent= models.ForeignKey(Continent) 
     name = models.CharField(max_length=255) 
     def __str__(self): 
      return self.name 

    class City(models.Model): 
     continent= models.ForeignKey(Continent) 
     country= ChainedForeignKey(Country, chained_field="continent", chained_model_field="continent", show_all=False, auto_choose=True, sort=True) 
     name = models.CharField(max_length=255) 
     def __str__(self): 
      return self.name 

    class Neighborhood(models.Model): 
     continent= models.ForeignKey(Continent) 
     country= ChainedForeignKey(Country, chained_field="continent", chained_model_field="continent", show_all=False, auto_choose=True, sort=True) 
     name = models.CharField(max_length=255) 
     city= ChainedForeignKey(City, chained_field="country", chained_model_field="country", show_all=False, auto_choose=True, sort=True) 
name = models.CharField(max_length=255) 
     def __str__(self): 
      return self.name