使用Django-ORM处理现有数据库中的多关系

2024-05-17 19:10:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我开始和Django一起工作,已经做了一些模型,但是总是用“代码优先”的方法,所以Django处理表的创建等。现在我正在用ORM集成一个已经存在的数据库,我遇到了一些问题。你知道吗

数据库有许多多对多关系,因此有相当多的表链接其他两个表。我运行inspectdb命令让Django为我准备一些模型。我修改了它们,它在猜测字段和关系方面做得相当好,但问题是,我认为我的模型中不需要那些链接表,因为Django处理与ManyToManyField字段的多对多关系,但我希望Django在幕后使用链接表。你知道吗

所以我的问题是:我应该删除链接表的模型并将ManyToManyFields添加到相应的模型中,还是应该以某种方式使用这些模型?你知道吗

我不想搞砸数据库结构,它的人口相当多。你知道吗

我用的是Postgres9.5,Django2.2。你知道吗


Tags: django方法代码模型命令数据库关系链接
1条回答
网友
1楼 · 发布于 2024-05-17 19:10:15

在许多情况下,这并不重要。如果您想保持代码最少,那么m2m字段是一个很好的方法。如果您不控制数据库结构,那么保留inspectdb模式可能是值得的,以防在您不控制的模式更改之后必须再次执行。如果m2m链接表可以增长它们自己的属性,那么您需要将它们作为模型保存。你知道吗

相关问题 更多 >