Допустим, я моделирую VCS с помощью Django, используя такую модель:
class VCSItem(models.Model):
directory = models.CharField()
name = models.CharField()
revision = models.IntegerField()
Теперь (каталог, имя) однозначно идентифицируют элемент, отслеживаемый моей системой, но каждый элемент может иметь несколькоизменения.
Я бы хотел перечислить все элементы, где у каждого элемента есть максимальная отслеживаемая ревизия для моей системы.Имеет ли Django встроенную функциональность для этого?
В худшем случае, я мог бы сделать это самостоятельно с чем-то вроде:
newest_items = {}
for item in VCSItem.objects.all().order_by("revision"):
newest_item[item.directory + item.name] = item
Недостатком является то, что мне нужно получить все записи избазу данных и цикл по каждому - то, что я бы предпочел избежать, если это возможно.