1
比方說我模擬使用Django一個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
的缺點是,我必須從數據庫中獲取和循環每個所有條目 - 這是我寧願避免如果可能的話。
這種方法不會返回完整對象,但是包含'directory','name'和'max_rev'的Dict。有沒有一種方便的方式來獲取整個對象? –