我需要一些帮助将这个查询放在 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 进行此查询?