Django 管理员过滤空日期

发布于 2024-12-04 19:04:43 字数 90 浏览 0 评论 0原文

django admin 上日期的过滤选项有:

任何日期 今天 过去 7 天 本月 今年

添加过滤空白日期的“无”的最简单方法是什么?

The filter options on django admin for a date are:

Any date
Today
Past 7 days
This month
This year

What is the easiest way to add "None" that filters on blank dates?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

渔村楼浪 2024-12-11 19:04:43

我刚刚为此目的编写了一个自定义过滤器。它扩展了 Django admin 的默认 DateTimeListFilter 并添加了“None”和“Not None”选项,这些选项按照您的想法执行。

https://djangosnippets.org/snippets/10566/

然后你可以继续使用它:

class MyAdmin(ModelAdmin):
    list_filter = (('my_date_field', DateFieldListFilterOrNull),
                  )

I just wrote a custom filter for this purpose. It extends Django admin's default DateTimeListFilter and adds "None" and "Not None" options, which do what you think they do.

https://djangosnippets.org/snippets/10566/

You can then go on to use it:

class MyAdmin(ModelAdmin):
    list_filter = (('my_date_field', DateFieldListFilterOrNull),
                  )
裂开嘴轻声笑有多痛 2024-12-11 19:04:43

您必须注册自己的过滤器 - 请参阅 Django 1.3 或更低版本上的 Django Admin 中的 自定义过滤器http://twigstechtips.blogspot.com/2010/10/django-create-custom-admin-model-filter.html 或许多其他地方了解如何完成此操作。

关于您的特定要求,“IS NULL/IS NOT NULL”过滤器的片段位于 http://djangosnippets。 org/snippets/1963/

You'll have to register your own filter - look at Custom Filter in Django Admin on Django 1.3 or below or http://twigstechtips.blogspot.com/2010/10/django-create-custom-admin-model-filter.html or lots of other places for how that's done.

Regarding your particular requirement, a snippet for an "IS NULL/IS NOT NULL" filter at http://djangosnippets.org/snippets/1963/

花开半夏魅人心 2024-12-11 19:04:43

认为您正在寻找 __isnull 后缀。例如:

>>> mymodels = MyModel.objects.filter(mydate__isnull=True)
>>> mymodels[0].mydate
(no response)
>>>

Think you're looking for the __isnull postfix. For example:

>>> mymodels = MyModel.objects.filter(mydate__isnull=True)
>>> mymodels[0].mydate
(no response)
>>>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文