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设计】。

相关文章

spyder常用快捷键(分享)

最近在学习tensorflow框架,在ubuntu下用到python的一个ide --spyder,以下是常用快捷键 Ctrl+1:注释/撤销注释 Ctrl+4/5:块注释/撤销块注释...

python多线程编程中的join函数使用心得

python多线程编程中的join函数使用心得

今天去辛集买箱包,下午挺晚才回来,又是恶心又是头痛。恶心是因为早上吃坏东西+晕车+回来时看到车祸现场,头痛大概是烈日和空调混合刺激而成。没有时间没有精神没有力气学习了,这篇博客就说说py...

python Tensor和Array对比分析

如下所示: 区别 Array Tensor 类型 uint8,float3...

跟老齐学Python之开始真正编程

跟老齐学Python之开始真正编程

通过对四则运算的学习,已经初步接触了Python中内容,如果看官是零基础的学习者,可能有点迷惑了。难道在IDE里面敲几个命令,然后看到结果,就算编程了?这也不是那些能够自动运行的程序呀?...

python3 自动识别usb连接状态,即对usb重连的判断方法

在做自动化测试时,遇到两种情况需要判断usb是否已连接上(注,本文仅针对用adb命令来control手机) 一种是在开测时(前提是同时要测试多台), 希望等待所有设备usb全部识别后同时...