gpt4 book ai didi

python - 我如何在 Django 中定义 3 个以上模型之间的多对多关系?

转载 作者:太空宇宙 更新时间:2023-11-03 19:15:45 25 4
gpt4 key购买 nike

现在我有这些模型:Movie、MovieFormat(例如,dvd、bluray 等)、Region,我想在这些模型之间建立关系来存储(Movie、MovieFormat、Region、Date)元组(movie发布)

我可以通过另一个具有格式和日期字段的模型在电影引用区域上放置一个多对多字段,但这似乎不是执行此操作的“正确”方法。

最佳答案

我完全不明白你想做什么,但我认为你的看法是错误的。

根据我对电影的想法(我试图在这里考虑面向对象),您应该使用这样的东西:

class Movie(models.Model):
format = models.ForeignKey(MovieFormat)
region = models.ForeignKey(Region)
date = models.Datefield()
... other fields you want, like title for instance

使用这样的模型,您可以在数据库中存储不同格式的电影(格式存储在其他表中,以便您标准化数据库)、每部电影的不同区域和日期(现在停止考虑对象)、不同的区域和日期与区域有关的事物与此处的格式一样)。

这是你想要的吗?如果不是,请尝试更具体地回答您的问题...添加一些电影及其与地区和格式的关系的示例...

编辑:

现在我明白你想要什么了。我不知道如何命名我要添加的模型,但我确信您会找到合适的名称:

class Movie(models.Model):
... fields that you want for a movie, like foreing key to a producer for instance

class MovieEdition(models.Model):
movie = models.ForeignKey(Movie)
format = models.ForeignKey(MovieFormat)
region = models.ForeignKey(Region)
date = models.Datefield()
... other fields, like movie title for that region (the related region)

希望对您有帮助!干杯!

关于python - 我如何在 Django 中定义 3 个以上模型之间的多对多关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11371859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com