相关疑难解决方法(0)

过滤Django管理员Null /不是空

我有一个简单的Django模型,如:

class Person(models.Model):
    referrer = models.ForeignKey('self', null=True)
    ...
Run Code Online (Sandbox Code Playgroud)

在这个模型的ModelAdmin中,我如何通过referrer是否为null来过滤它?默认情况下,将referrer添加到list_filter会导致显示一个下拉列表,其中列出了可能数十万的每个人的记录,从而有效地阻止了页面的加载.即使它加载,我仍然无法按照我想要的标准进行过滤.

即如何修改此选项,以便下拉列表仅列出"全部","空"或"非空"选项?

我已经看过一些声称使用自定义FilterSpec子类完成类似操作的帖子,但它们都没有解释如何使用它们.我见过的少数似乎适用于所有型号的所有领域,我不想要.此外,FilterSpec 没有文档,这让我感到紧张,因为我不想投入大量自定义代码,这些代码与一些可能在下一版本中消失的瞬态内部类相关联.

python django django-admin django-admin-filters

11
推荐指数
5
解决办法
8507
查看次数