【发布时间】:2025-12-26 05:15:11
【问题描述】:
django admin 上的日期过滤选项是:
任何日期 今天 过去 7 天 这个月 今年
添加过滤空白日期的“无”的最简单方法是什么?
【问题讨论】:
标签: django django-admin
django admin 上的日期过滤选项是:
任何日期 今天 过去 7 天 这个月 今年
添加过滤空白日期的“无”的最简单方法是什么?
【问题讨论】:
标签: django django-admin
认为您正在寻找 __isnull 后缀。例如:
>>> mymodels = MyModel.objects.filter(mydate__isnull=True)
>>> mymodels[0].mydate
(no response)
>>>
【讨论】:
您必须注册自己的过滤器 - 查看 Custom Filter in Django Admin on Django 1.3 or below 或 http://twigstechtips.blogspot.com/2010/10/django-create-custom-admin-model-filter.html 或许多其他地方以了解如何完成。
关于您的特殊要求,http://djangosnippets.org/snippets/1963/ 处的“IS NULL/IS NOT NULL”过滤器的 sn-p
【讨论】:
我刚刚为此编写了一个自定义过滤器。它扩展了 Django 管理员的默认 DateTimeListFilter 并添加了“None”和“Not None”选项,它们会按照您的想法执行。
https://djangosnippets.org/snippets/10566/
你可以继续使用它:
class MyAdmin(ModelAdmin):
list_filter = (('my_date_field', DateFieldListFilterOrNull),
)
【讨论】: