Мне нужна помощь в составлении этого запроса в 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, поэтому это исключило бы запись № 4.
В некотором смысле кажется, что происходит 2 запроса. Один для определения записей в заданном диапазоне и один для исключения записей, которые пересекаются с «истинными» записями.
Как я могу сделать этот запрос с Django ORM?