首页 > 解决方案 > Python - 如何使用 Mongoengine 处理无类型过滤器?

问题描述

我有一个过滤列表的基本程序。

if request.data["isToday"] == True:
   today = datetime.date.today()
else:
   today = None

get_posts = Posts.objects(
                    Q(title__contains   = request.data["searchQuery"]) &
                    Q(post_date          =  today ))

如果日期过去,它工作正常。当None被传递时,它返回一个空列表。基本上,如果today=None我想显示所有帖子,如果给出了 searchQuery,则必须应用两个过滤器。

我在这里缺少一些基本逻辑吗?

标签: pythondjango

解决方案


您可以添加一项检查并更改查询。

if request.data["isToday"] == True:
    today = datetime.date.today()
else:
    today = None

if today:
    get_posts = Posts.objects(
                Q(title__contains   = request.data["searchQuery"]) &
                Q(post_date          =  today ))
if not today:
    get_posts = Posts.objects.all()

推荐阅读