Python - 如何使用Mongoengine处理过滤器中的任何类型?

时间:2018-04-30 06:58:38

标签: python django

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

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,则必须同时应用这两个过滤器。

我在这里错过了一些基本逻辑吗?

1 个答案:

答案 0 :(得分:0)

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

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()