は、私はこのようなモデルのものを使用して、ジャンゴと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です。オブジェクト全体をフェッチするための滑らかな方法はありますか? –