首页 > 解决方案 > Django过滤器ORM Q

问题描述

我正在写这个查询:

day_l = DAYLeave.objects.filter(user=request.user,  Q(start_date__range=[sd, ed]) | Q(end_date__range=[sd, ed]))

sd并且ed是像“2021-04-06”这样的日期

当我执行我得到这个错误:

SyntaxError: positional argument follows keyword argument

用户 --> 用户表的外键

如果我删除user=request.user它可以工作,但在我的主查询中我得到了错误。

标签: pythonmysqldjangofilterorm

解决方案


你需要放在user=request.user最后。关键字 args 应该在非关键字 args 之后。

day_l = DAYLeave.objects.filter(
    Q(start_date__range=[sd, ed]) | Q(end_date__range=[sd, ed]), 
    user=request.user,
)


推荐阅读