首页>>后端>>Python->django中怎么使用多对多(2023年最新解答)

django中怎么使用多对多(2023年最新解答)

时间:2023-12-13 本站 点击:0

导读:今天首席CTO笔记来给各位分享关于django中怎么使用多对多的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

django model里怎么实现外键对多种model

首先题主用的Django版本是什么,django貌似没见过ForeignModel,根据orm,ForeignKey实际上就是sql里面的外键,个人理解楼主的题目是能不能一个字段对应多个其他表,如下:

class WhatAreYouTryToAsk:

filed_XXX = models.ForeignKey((ModelA,ModelB,))

这是不科学的啊亲,对于sql来说也不会一个字段能对应多个外键,想实现这种效果只能是有一张ModelA,ModelB的中间表,而filed的外键对应这张中间表

class MiddleTable(models.Model):

model_a = models.ForeignKey(ModelA)

model_b = models.ForeignKey(ModelB)

class WhatAreYouTryToAsk:

filed_XXX = models.ForeignKey(MiddleTable)

简单的说就是ModelA和ModelB有一个多对多的关系,上面的方法是显示的指明一个MiddleTable表,实时上可以使用Django里面的ManyToMany,ManyToMany的实际上会建一张中间表,因此你可以在ModelA或ModelB建立一个ManyToMany的字段,具体ManyToMany的用法请查阅文档。

class ModelA(models.Model):

model_bs = ManyToMany(ModelB)

class WhatAreYouTryToAsk:

filed_XXX = models.ForeignKey(ModelA)

# or this, 具体实现看需求

# filed_XXX = models.ForeignKey(ModelB)

django 多对多怎么插入数据

首先你需要建立django的对象模型

建立两个模型之间的关系表

将数据保存到关系表中。

具体的插入方法,可以参考:

如果解决了您的问题请采纳!

如果未解决请继续追问

django many to many 怎么用

这个问题比较复杂,根本在于你要理解什么是多对多。

举个例子:一个作者可以写多本书,每本书也可以有多个作者。

这就是多对多,体现在Django的ORM中就是:作者模型和书模型之中的一方,需要添加一个ManyToManyField字段。注意是一方,不是双方,只需要添加一个字段不是两个字段。

更详细的内容可以阅读我的博客。

结语:以上就是首席CTO笔记为大家整理的关于django中怎么使用多对多的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/30969.html