关于关系表
老师,您好:
一对一关系的时候,老师在进行关联的时候定义一个类进行关联student类,然后在下面创建了其他的字段和对应的内容,到一对多也是如此,但是为什么到多对多的时候并没有创建其他的字段和对应的内容呢?就只有课程的id和学生的id,其他字段不能够添加吗?可以的话,是如何添加的?
13
收起
正在回答
1回答
同学,你好,
1、多对多关联时,Django会自动创建一张表用于两张表的相关联。该表中是通过两个表的id进行关联
2、也可以自定义中间表,Django提供了一个through参数,用于指定中间模型,可以将其他字段放在这个中间模型内。
参考代码:
class Person(models.Model): name = models.CharField(max_length=128) class Group(models.Model): name = models.CharField(max_length=128) members = models.ManyToManyField(Person, through='Membership') class Membership(models.Model): person = models.ForeignKey(Person, on_delete=models.CASCADE) group = models.ForeignKey(Group, on_delete=models.CASCADE) date_joined = models.DateField() # 进组时间 invite_reason = models.CharField(max_length=64) # 邀请原因
3.从网页搭建入门Python Web
- 参与学习 人
- 提交作业 218 份
- 解答问题 3562 个
本阶段带你用Python开发一个网站,学习主流框架Django+Flask是Python Web开发的第一步,在基础知识上实现积分商城的项目开发,体验真实的项目开发流程,提高解决编程问题和效率的能力。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星