前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python-Django-Django 模型层的关联关系(二)

python-Django-Django 模型层的关联关系(二)

原创
作者头像
玖叁叁
发布2023-04-23 09:31:02
4750
发布2023-04-23 09:31:02
举报
文章被收录于专栏:玖叁叁

关联关系操作

Django提供了一系列操作,用于在关联关系上进行查询和操作。下面是一些示例:

通过一对一关系查询

代码语言:javascript
复制
person = Person.objects.get(name='John')
address = person.address

在上面的代码中,我们首先获取一个Person实例,然后通过它的address属性获取关联的Address实例。

通过一对多关系查询

代码语言:javascript
复制
author = Author.objects.get(name='Jane')
books = author.book_set.all()

在上面的代码中,我们首先获取一个Author实例,然后通过它的book_set属性获取关联的所有Book实例。

通过多对多关系查询

代码语言:javascript
复制
course = Course.objects.get(name='Math')
students = course.student_set.all()

在上面的代码中,我们首先获取一个Course实例,然后通过它的student_set属性获取关联的所有Student实例。

添加关联关系

代码语言:javascript
复制
author = Author.objects.get(name='John')
book = Book(title='A new book', author=author)
book.save()

在上面的代码中,我们首先获取一个Author实例,然后创建一个新的Book实例,并将它的author属性设置为这个Author实例。最后,我们保存这个新的Book实例,这样它就会与这个Author实例建立一对多的关联关系。

移除关联关系

代码语言:javascript
复制
student = Student.objects.get(name='Jane')
course = Course.objects.get(name='Math')
student.courses.remove(course)

在上面的代码中,我们首先获取一个Student实例和一个Course实例,然后调用Student实例的courses属性的remove方法,将这个Course实例从这个Student实例关联的多对多关系中移除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关联关系操作
    • 通过一对一关系查询
      • 通过一对多关系查询
        • 通过多对多关系查询
          • 添加关联关系
            • 移除关联关系
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档