我在我的一个Django应用程序中有一个图像字段,但希望能够存储图像的修订,以便允许我按修订顺序显示列表。最好的方法是单独存储图像,然后与父母图像建立“父”外键关系?例如:亲子关系效率
class Image(models.Model):
name = models.CharField(max_length=50)
parent = models.ForeignKey(Image, null=True)
image = models.ImageField(upload_to='images')
如果没有父(null=True
),则图像必须没有修改。每个对象只能有一个父级和一个子级,但层数可能是无限的。
我不知道是否可以遍历多个子层,而不会生成大量的SQL查询,这会使应用程序非常低效。用Django对象表示这个最好的方法是什么?例如,为了处理图层,有一个单独的“ImageRevision”对象会更好吗?
感谢
感谢您的全面,真正有用的解释! – jvc26 2012-03-14 17:45:28