Django智能选择多对多字段filter_horizontal/filter_vertical不允许链接



嗨,我在Django 1.10做一个项目。对于这个项目,我使用django-smart-select在管理面板中链接输入。它工作得很好。但是对于多对多的字段链接,如果我使用filter_horizontal/filter_vertical,那么链接不再工作。没有解决方案在那里的github页面。我怎样才能解决这个问题?还有其他类似的应用吗?

我有同样的问题,我在这个库的分支中解决了它:https://github.com/jorgecorrea/django-smart-selects正如你在我的README版本中看到的,这是在mi fork的水平模式下使用的方法:models.py

from smart_selects.db_fields import ChainedManyToManyField
class Publication(models.Model):
    name = models.CharField(max_length=255)
class Writer(models.Model):
        name = models.CharField(max_length=255)
        publications = models.ManyToManyField('Publication', 
                                              blank=True,
                                              null=True)
class Book(models.Model):
        publication = models.ForeignKey(Publication)
        writer = ChainedManyToManyField(
            Writer,
            horizontal=True,
            verbose_name='writer',
            chained_field="publication",
            chained_model_field="publications",
        )
        name = models.CharField(max_length=255)

通过这个小改动,你可以使用django水平模式视图,但是不要在admin filter_horizontal中添加字段此更改是不需要的:admin.py

@admin.register(Book)
class BookAdmin(admin.ModelAdmin):
    filter_horizontal = ('writer',)
   # don't do that because you will be changing the widget.

相关内容

  • 没有找到相关文章

最新更新