Django3.0 ORM ManyToMany (多對多)

本文介绍了Django3.0中ManyToManyField的关系管理,包括如何创建、添加、删除和清空关系。通过实例展示了如何自定义中间表,并解释了through选项的作用。此外,还提到了不能在使用through后直接使用add、remove、create方法。
摘要由CSDN通过智能技术生成

這篇博客主要帶大家了解 多對多關係 ( Many To Many )
和一對多 關係的差異 是在 Django 會自動生成一張表(中間表) 來管理多對多關係 !
那也可以使用 through選項來指定表示要使用的 中間表 ,即 Django 模型。
那就開始進入今天的主題 !

ManyToManyField(to,** options)

建立模型 models.py 學生與課程

class Teacher(models.Model):
    teacher_name = models.CharField(max_length=10)

    def __str__(self):
        return '教師名稱:{}'.format(self.teacher_name)

    class Meta:
        db_table = 'tb_teacher'



class Course(models.Model):
    clazz = models.CharField(max_length=30)
    course_name = models.CharField(max_length=30)
    teacher = models.ForeignKey(Teacher, on_delete=models.CASCADE, related_name='teacher')

    def __str__(self):
        return '教師: {} 開課班級: {} 課程名稱: {}'.format(
            self.teacher.teacher_name, self.clazz, self.course_name
        )

    class Meta:
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值