【问题标题】:Django admin - filtered list viewDjango 管理员 - 过滤列表视图
【发布时间】:2016-03-10 18:18:04
【问题描述】:

我有两个模型,属性和变体。变体对属性有一个 FK。在管理屏幕上,当查看属性条目行(或单个属性条目的编辑视图)时,我希望能够单击链接“显示属性的变体”,这将带我进入“标准”查看 Variant 对象,但过滤后仅显示该属性的 Variants。

我一直在查看文档并找到了如何在侧边栏上制作过滤器,例如日期等,但不适用于上述情况。这是否包含在标准文档中?

如果默认情况下这是不可能的,我需要采取哪些步骤来实现这一点? 我使用 Django 1.8.7

【问题讨论】:

    标签: python django django-admin django-admin-filters


    【解决方案1】:

    您可以在管理视图中执行以下操作:

    class LocationDayAdmin(admin.ModelAdmin):
        list_display = ('id', 'show_variants' )
    
        def show_variants(self, obj):
            return "<a href='/admin/<package>/variants/attribute__id__exact=" + str(obj.id) + "'>show variants</a>"
    
        show_variants.allow_tags = True
    

    确保您的 AttributeAdmin 中有 list_filter = ('attribute',)

    【讨论】:

    • 嗨,是的,这就是我最终做的,忘记更新了!