Django实现一对多表模型的跨表查询方法

yipeiwu_com6年前Python基础

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

方法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>

以上这篇Django实现一对多表模型的跨表查询方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python高级特性与几种函数的讲解

切片 从list或tuple中取部分元素。 list = [1, 2, 3, 4] list[0 : 3] # [1, 2, 3] list[-2 : -1] # -1表示最后一个,...

python实现倒计时小工具

本文实例为大家分享了python实现倒计时小工具的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python # coding=utf-8 import th...

Python数据存储之 h5py详解

1、Python数据存储(压缩) (1)numpy.save , numpy.savez , scipy.io.savemat numpy和scipy内建的数据存储方式。 (2)cPic...

python连接mysql实例分享

示例一 #coding=UTF-8 import sys import MySQLdb import time reload(sys) sys.setdefaultencodin...

Python ljust rjust center输出

看下面的例子就会明白了: 复制代码 代码如下:print '|','*'.ljust(10),'|' print '|','*'.ljust(10,'-'),'|' print '|',...