嗨,我正在 Django 1.10 中做一个项目。对于这个项目,我使用 django-smart-select 在管理面板中链接输入。它工作正常。但是对于多对多字段链接,如果我使用 filter_horizontal/filter_vertical 则链接不再起作用。github页面中没有解决方案。我怎么解决这个问题?有没有其他类似的应用程序?
问问题
764 次
1 回答
0
我有同样的问题,我在库的这个 fork 中解决了它: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 水平模式视图,但不要将字段添加到管理员 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.
于 2017-02-24T08:06:06.580 回答