首页
学习
活动
专区
圈层
工具
发布
37 篇文章
1
python-Django-安装与配置(一)
2
python-Django-安装与配置(二)
3
python-Django-基础概念(一)
4
python-Django-基础概念(二)
5
python-Django 模型层-模型层简介
6
python-Django 模型层-模型层示例
7
python-Django-命令行工具
8
python-Django 模型层-模型层的字段类型
9
python-Django-Django 模型层的关联关系(一)
10
python-Django-Django 模型层的关联关系(二)
11
python-Django-Django 数据库迁移(一)
12
python-Django-Django 数据库迁移(二)
13
python-Django-Django 视图层简介(一)
14
python-Django-Django 视图层简介(二)
15
python-Django-URL 路由(一)
16
python-Django-URL 路由(二)
17
python-Django-视图函数(一)
18
python-Django-视图函数(二)
19
python-Django-Django 模板引擎(一)
20
python-Django-Django 常用模板标签和过滤器(一)
21
python-Django-Django 常用模板标签和过滤器(二)
22
python-Django-表单基础概念
23
python-Django-Django 表单简介
24
python-Django-表单验证(一)
25
python-Django-表单验证(二)
26
python-Django-文件上传(一)
27
python-Django-文件上传(二)
28
python-Django-文件上传(三)
29
python-Django 高级特性-Django 中间件(一)
30
python-Django 高级特性-Django 中间件(二)
31
python-Django 高级特性-Django 缓存(一)
32
python-Django 高级特性-Django 缓存(二)
33
python-Django 高级特性-Django 分页(一)
34
python-Django 高级特性-Django 分页(二)
35
python-Django 高级特性-Django 异步任务(一)
36
python-Django 高级特性-Django 安全(一)
37
python-Django 高级特性-Django 安全(二)
清单首页django文章详情

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

关联关系操作

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实例关联的多对多关系中移除。

下一篇
举报
领券