【发布时间】:2022-01-18 02:38:30
【问题描述】:
我正在尝试编写一个基本数据库来提供我的照片。这看起来很简单,但我就是想不通,尽管思考了几个星期。我正在尝试组合多个相互链接的模型。
照片:包含一些存储数据的文件
人物:照片中出现的有关某人的数据/已引起了引用
引言:某人说过的话需要附在照片上
(引言不属于那个人的所有照片,而是属于特定的一组照片)
优惠:包含所有报价的概览,其中一张照片作为缩略图和所有照片
(有些照片可能有相同的报价,但应该只出现一次)
作为一个模型,因为这里的人们真的很喜欢先看一些代码,所以我做了这个:
class Quote:
person = models.ForeignKey("Person")
photos = models.ManyToManyField("Photo")
class Person:
photo = models.ForeignKey("Photo")
class Photo:
pass
class Offer:
quotes = models.ManyToManyField("Quote")
photos = models.ManyToManyField("Photo")
请以上面的代码为例,因为我已经不知道如何解决这个问题。我尝试了多个不同的版本,但总有一些情况没有被涵盖。在上面的示例中,问题是:Person 和 Quote 独立地附加到 Photos。但是如果没有那个人在那里,就不可能有报价。所以有些信息是加倍的,可能会不同意。我也尝试使用“through=”将 People 和 Quotes 放在一起,但后来遇到了其他问题。
你能推荐任何好的教程或给我一个提示如何处理这些“混乱”的关系吗?
谢谢你, 迈克尔
【问题讨论】:
标签: django django-models django-database