У меня есть иерархия моделей, состоящая из четырех уровней, все по разным веским причинам, но объяснение которых выходит за рамки этого вопроса, я полагаю.
Итак, здесь речь идет о псевдо-питоне:
class Base(models.Model):
...
class Top(models.Model):
base = FK(Base)
class Middle(models.Model):
top = FK(Top)
created_at = DateTime(...)
flag = BooleanField(...)
class Bottom(models.Model):
middle = FK(Middle)
stored_at = DateTime(...)
title = CharField(...)
Учитывая заголовок, как мне эффективно найти все экземпляры Base, для которых этот заголовок встречается только в последнем (stored_at
) нижнем экземпляре самого последнего (created_at
) среднего экземпляра, для которого flag
установлено в Правда?
Я не смог найти способ использования ORM, и, как я его видел, .latest()
мне не подходит для модели, к которой я хочу обратиться. То же самое касается любых удобных методов на базовой модели. Поскольку я не эксперт по SQL, я бы хотел использовать ORM, а также максимально избегать денормализации.
Спасибо!