私は私のDjangoアプリケーションの1つに画像フィールドを持っていますが、画像のリビジョンを保存してリビジョン順にリストを表示できるようにしたいと考えています。画像を別々に保存し、親画像に「親」ForeignKey関係を持たせるために、これを行う最善の方法はありますか?たとえば、次のように親子関係の効率
class Image(models.Model):
name = models.CharField(max_length=50)
parent = models.ForeignKey(Image, null=True)
image = models.ImageField(upload_to='images')
親(null=True
)その後、画像が何のリビジョンを持っていない必要がありますがない場合。各オブジェクトには親と子がそれぞれ1つしかありませんが、レイヤーの数には制限がありません。
子どもの複数のレイヤーが、かなりの数のSQLクエリを生成せずにトラバースできるかどうかはわかりません。これは、アプリを非常に非効率にします。これをDjangoオブジェクトの観点から表現する最良の方法は何ですか?例えば、レイヤーを扱うために、別々の 'ImageRevision'オブジェクトを持つ方が良いでしょうか?私はおそらくこのような場合にはどうなるのか
おかげ
包括的で本当に役立つ説明をありがとう! – jvc26