我可以在 SnippetViewSet 中创建类型为“boolean”的自定义列吗

问题描述 投票:0回答:1

我在 Wagtail 5 中有一个

SnippetViewSet
实际上是一个布尔值。 该字段使用注释添加到查询集中:

class PartnerViewSet(SnippetViewSet):
    model = Partner

    list_display = [
        Column("is_current_partner", label=_("Current partner"), accessor="is_current_partner")
    ]

    def get_queryset(self, request):
        return (
            Partner.objects.all()
            # To check whether the partner is a current partner or not
            .annotate(
                is_current_partner=Exists(
                    EditionPartnership.objects.filter(
                        edition__is_current=True,
                        partner_id=OuterRef("pk"),
                    )
                )
            )
        )

但是在 Wagtail admin 中,这显示为“True”,如果为 False,则显示为空值。理想情况下,这将是一个复选框或类似于 Django Admin 的东西。

开箱即用吗?

wagtail wagtail-admin wagtail-snippet
1个回答
0
投票

查看 Column 类的源代码,您可以创建 Column 的子类,它有自己的

render_cell_html
以将此布尔值显示为复选框。但是,如果您在列表视图中选中或取消选中该框,除非您还自定义它来执行某些操作,否则这种显示可能会令人困惑。

© www.soinside.com 2019 - 2024. All rights reserved.