【发布时间】:2023-03-20 04:22:01
【问题描述】:
我需要一些帮助来将这个查询放在 Django 中。我已将此处的示例简化为切入正题。
MyModel(models.Model):
created = models.DateTimeField()
user = models.ForeignKey(User)
data = models.BooleanField()
我想用英语创建的查询听起来像:
给我昨天创建的每条数据为假的记录,在同一范围内,给定用户的数据永远不会显示为真
这是一个输入/输出示例,以防不清楚。
表格值
ID Created User Data
1 1/1/2010 admin False
2 1/1/2010 joe True
3 1/1/2010 admin False
4 1/1/2010 joe False
5 1/2/2010 joe False
输出查询集
1 1/1/2010 admin False
3 1/1/2010 admin False
我要做的是排除记录#4。原因是在“昨天”的给定范围内,对于记录 #2 中的用户,数据显示为 True 一次,因此将排除记录 #4。
从某种意义上说,似乎发生了 2 个查询。一种用于确定给定范围内的记录,另一种用于排除与“真”记录相交的记录。
如何使用 Django ORM 进行此查询?
【问题讨论】:
标签: django django-queryset django-orm