Django 过滤器 ORM Q

Django filter ORM Q

我正在写这个查询:

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

sded 是类似“2021-04-06”的日期

当我执行时出现这个错误:

SyntaxError: positional argument follows keyword argument

用户 --> 用户的外键 table

如果我删除 user=request.user 它有效,但在我的主要查询中我收到错误。

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

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