【问题标题】:ManyToManyFields in Django AdminDjango Admin中的ManyToManyFields
【发布时间】:2009-04-30 13:08:45
【问题描述】:

我在我的应用程序中使用 Photologue,我非常喜欢管理应用程序中出现的 ManyToManyField 选择器(两个多选框,带有用于在选定状态和非选定状态之间移动项目的箭头,以及“选择全部”和“全部清除”选项)。

我在自己的模型中使用了非常相似的代码,但我的 ManyToManyField 选择器只显示为普通的 <select multiple="multiple" ...> 字段。我在 Photologue 的admin.pymodels.py 中看不出有什么特别之处,而且这两个应用程序在同一个项目中运行。

我的模特:

class Portfolio(models.Model):
    images      = models.ManyToManyField(Photo, related_name='portfolios')
    ...

来自 Photologue 的相关模型:

class Gallery(models.Model):
    ....
    photos = models.ManyToManyField('Photo',
                                    related_name='galleries',
                                    verbose_name=_('photos'),
                                    null=True, blank=True)

Photologue 的管理员:

class GalleryAdmin(admin.ModelAdmin):
    list_display = ('title', 'date_added', 'photo_count', 'is_public')
    list_filter = ['date_added', 'is_public']
    date_hierarchy = 'date_added'
    prepopulated_fields = {'title_slug': ('title',)}
    filter_horizontal = ('photos',)

有人知道我错过了什么吗?如果有帮助,我会发布屏幕截图。

谢谢,

Dom

【问题讨论】:

    标签: django django-admin


    【解决方案1】:

    请参阅 django 文档以获取 filter_horizontal

    一个漂亮的不显眼的 JavaScript“过滤器”界面,而不是管理表单中的可用性挑战

    【讨论】:

    • 愚蠢的我 - 问题就在那里 - 它看起来不像是管理员声明的相关部分。谢谢!
    猜你喜欢
    • 2017-05-22
    • 1970-01-01
    • 2011-12-01
    • 2016-08-04
    • 2011-09-14
    • 1970-01-01
    • 2021-11-27
    • 2011-03-07
    • 2016-06-22
    相关资源
    最近更新 更多