【问题标题】:Django smart selectsDjango 智能选择
【发布时间】:2014-03-04 07:45:37
【问题描述】:

我尝试使用 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)

【问题讨论】:

    标签: django chain


    【解决方案1】:

    尝试 Django Clever Selects

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

    我在我的 Django 1.6 项目中使用它

    【讨论】:

    • 你能分享如何使用这个应用程序django-clever-selects好吗?
    • 也适用于django admin?
    • 我已经将它用于用户前端表单
    • django-clever-selects 真的不需要在 Django 中使用模型吗?你的功能真的是基于 ajax 和 js 的吗?从某种意义上说,这有助于不使用真正应用链接模型的应用程序对数据库执行查询或事务?
    • 我觉得你可以试试,很简单
    【解决方案2】:

    你的结构不正确我给你一个有效的例子

        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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-08
      • 1970-01-01
      • 2017-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多