【问题标题】:django keyword can't be an expressiondjango 关键字不能是表达式
【发布时间】:2013-06-04 08:23:05
【问题描述】:

我正在尝试创建一个获取过滤列表的查询。

我调用查询的模型是:

class WorkoutRecord(models.Model):

    challenge = models.ForeignKey(Challenge)

    workout_email_sent = models.DateTimeField(default=datetime.now)

    status = models.IntegerField(default=1) 

我的查询是:

L = WorkoutRecord.objects.filter(status = 1, challenge.user = request.user, workout_email_sent__lt = today)

我得到的错误信息是:

关键字不能是表达式

我知道问题出在查询的 challenge.user = request.user 部分,但我不确定如何编写查询,因此它会正确过滤此 ForeignKey

【问题讨论】:

标签: django django-models django-queryset


【解决方案1】:

使用 __ 来跟踪查询集中的外键关系:

L = WorkoutRecord.objects.filter(status=1, challenge__user=request.user, workout_email_sent__lt=today)

【讨论】:

  • 不错的收获@PeterDeGlopper
猜你喜欢
  • 2019-10-07
  • 1970-01-01
  • 2015-01-12
  • 1970-01-01
  • 1970-01-01
  • 2020-02-10
  • 1970-01-01
  • 2016-09-26
  • 2012-05-19
相关资源
最近更新 更多