如何在Wagtail的SnippetChooserPanel中自定义查询集?

时间:2019-07-06 16:31:29

标签: wagtail

假设我有一个这样的模型:

class Sandwich(models.Model):
    """
    Food-like things stacked horizontally.
    """

    owner = models.ForeignKey(User)

    panels = [
        SnippetChooserPanel('owner'),
    ]

在Wagtail管理员中,我希望snippet chooser panel排除某些owners,例如 Steve 不能与三明治一起使用。如何自定义使用的查询集?

关于如何使用PageChooserPanelDocumentChooserPanelImageChooserPanel而非SnippetChooserPanel使用documentation

1 个答案:

答案 0 :(得分:1)

如果您使用的是Django 2.2 / Wagtail 2.5,则可以尝试创建proxy model并在模型上定义first manager以返回所需的查询集。我已经在some success中使用过Wagtail的代理模型,尽管Wagtail需要做更多的工作才能使代理模型始终正常工作。