使用Django实现一对多表模型的跨表查询

简介: 人生不可能一直如意,要学会调节心态。

当有两个表,例如一个学生表,一个班级表,是多对一的关系。

方法1

c = models.Class.object.get(pk=1)
#查询到ID为1的班级
stus = models.Student.object.filter(cls=c)
# 查询出来所有班级为c的学生
#stus是多个对象
#可以循环出结果
for stu in stus :
 print stu.id,stu.name

方法2

stus = models.Student.object.filter(cls__name='1703')
#双下划线为跨表查询,查询学生对应的所有cls为1703的学生

方法3

c=models.Class.object.get(pk=1)
#获取ID为1的班级
stus=c.Student_set.all
#获取所有该班级下的所有学生

html页面获取方法

<td>{{ line.student_set.count }}</td>
相关文章
|
4天前
|
SQL 数据库 索引
Django MTV - 模型层 - (专题)知识要点与实战案例
Django MTV - 模型层 - (专题)知识要点与实战案例
33 0
|
4天前
|
存储 安全 网络协议
Python 教程之 Django(9)对模型中的字段进行验证
Python 教程之 Django(9)对模型中的字段进行验证
33 0
Python 教程之 Django(9)对模型中的字段进行验证
|
4天前
|
API 数据库 Python
Python 教程之 Django(8)在 Django 管理界面中渲染模型
Python 教程之 Django(8)在 Django 管理界面中渲染模型
26 0
Python 教程之 Django(8)在 Django 管理界面中渲染模型
|
4天前
|
机器学习/深度学习 算法 TensorFlow
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
72 0
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
|
6月前
|
存储 JavaScript 前端开发
08 Django模型 - 定义模型
08 Django模型 - 定义模型
16 0
|
4天前
|
SQL 存储 API
Python 教程之 Django(7)Django 模型
Python 教程之 Django(7)Django 模型
54 1
Python 教程之 Django(7)Django 模型
|
5月前
|
SQL 存储 API
Python 教程之 Django(7)Django 模型
Python 教程之 Django(7)Django 模型
33 0
|
4天前
|
Python
使用Django时,如何设计模型关系(一对一、一对多、多对多)?
Django支持三种模型关联:ForeignKey(一对多),OneToOneField(一对一)和ManyToManyField(多对多)。ForeignKey示例:`Article`有一个指向`Author`的外键。OneToOneField示例:`UserProfile`与`User`一对一关联。ManyToManyField示例:`Student`和`Course`之间多对多关系。这些关联字段便于反向查询,如`article.author`获取作者,`author.article_set.all()`获取作者所有文章。
17 1
|
6月前
|
SQL 缓存 数据库
10 Django模型 - 模型查询
10 Django模型 - 模型查询
42 0
|
6月前
|
数据库 Python
09 Django模型 - 模型成员
09 Django模型 - 模型成员
22 0