# a.查看所有学位课并打印学位课名称以及授课老师
# degree_list = DegreeCourse.objects.all().values('name', 'teachers__name')
# queryset = DegreeCourse.objects.all()
# for row in queryset:
# row.name,row.teachers.all() # b.查看所有学位课并打印学位课名称以及学位课的奖学金
# c_obj=DegreeCourse.objects.all()
# for i in c_obj:
# print(i.name)
# print(i.degreecourse_price_policy.all().values('price')) # degree_list = DegreeCourse.objects.all()
# for row in degree_list:
# print(row.name)
# scholarships = row.scholarship_set.all()
# for item in scholarships:
# print('------>',item.time_percent,item.value) # c. 展示所有的专题课
# c_obj=Course.objects.filter(degree_course__isnull=True)
# print(c_obj)
# d. 查看id=1的学位课对应的所有模块名称 # a_obj=DegreeCourse.objects.filter(id=1).values('course__name')
# print(a_obj) # obj = DegreeCourse.objects.get(id=1)
# course_list = obj.course_set.all()
# print(course_list)
#
# course_list = Course.objects.filter(degree_course_id=1)
# print(course_list)
# # e.获取id = 1的专题课,并打印:课程名、级别(中文)、why_study、what_to_study_brief、所有recommend_courses
# c_obj =Course.objects.filter(id=1)
# print(c_obj.values('name'))
# print(c_obj.first().get_level_display())
# print(c_obj.values('coursedetail__why_study'))
# print(c_obj.values('coursedetail__what_to_study_brief'))
# print(c_obj.values('coursedetail__recommend_courses')) # obj = Course.objects.get(id=1)
# print(obj.name)
# print(obj.brief)
# print(obj.get_level_display() )
# print(obj.coursedetail.hours )
# print(obj.coursedetail.why_study )
# print(obj.coursedetail.recommend_courses.all() ) # f.获取id = 1的专题课,并打印该课程相关的所有常见问题
# c_obj = Course.objects.filter(id=1).first()
# print(c_obj.asked_question.all().values('question')) # obj = Course.objects.get(id=1)
# ask_list = obj.asked_question.all()
# for item in ask_list:
# print(item.question,item.answer) # g.获取id = 1的专题课,并打印该课程相关的课程大纲
# c_obj = Course.objects.filter(id=1)
# print(c_obj.values('coursedetail__courseoutline__title')) # obj = Course.objects.get(id=1)
# outline_list = obj.coursedetail.courseoutline_set.all()
# for item in outline_list:
# print(item.title,item.content)
# # h.获取id = 1的专题课,并打印该课程相关的所有章节
# c_obj = Course.objects.filter(id=1)
# print(c_obj.values('coursechapters__name')) # obj = Course.objects.get(id=1)
# chapter_list = obj.xxxxx.all() # 默认obj.表名_set.all()
# for item in chapter_list:
# print(item.name) # i.获取id = 1的专题课,并打印该课程相关的所有课时
# 第1章·Python 介绍、基础语法、流程控制
# 01 - 课程介绍(一)
# 01 - 课程介绍(一)
# 01 - 课程介绍(一)
# 01 - 课程介绍(一)
# 01 - 课程介绍(一)
# 第1章·Python介绍、基础语法、流程控制
# 01 - 课程介绍(一)
# 01 - 课程介绍(一)
# 01 - 课程介绍(一)
# 01 - 课程介绍(一)
# 01 - 课程介绍(一)
# c_obj = Course.objects.filter(id=1)
# for i in c_obj.values('coursechapters__chapter','coursechapters__name'):
# print(i.get('coursechapters__chapter'),i.get('coursechapters__name'))
# a_obj=CourseChapter.objects.filter(name=i.get('coursechapters__name'))
# for j in a_obj.values('coursesections__name'):
# print(j.get('coursesections__name')) # obj = Course.objects.get(id=1)
# chapter_list = obj.xxxxx.all()
# for chapter in chapter_list:
# print(chapter.name,chapter.coursesections.all()) # 补充
# section_list = CourseSection.objects.filter(chapter__course_id=1).values('id','name','chapter_id','chapter__name')
# for item in section_list:
# print(item) """
[
{'chapter_id':1,'chapter__name':'美丽俏佳人','children':[ {'id':1, 'name':'课时1'}, {'id':1, 'name':'课时2'} ]},
{'chapter_id':2,'chapter__name':'美丽俏佳狗','children':[]}
]
""" # i.获取id = 1的专题课,并打印该课程相关的所有的价格策略
# c_obj = Course.objects.filter(id=1).first()
# print(c_obj.price_policy.all())

路飞ORM练习的更多相关文章

  1. python 全栈开发,Day105(路飞其他数据库表结构,立即结算需求)

    考试第三部分:Django 16.  列列举你熟悉的Http协议头以及作用.(1分) Accept-Charset: 用于告诉浏览器,客户机采用的编码 Host: 客户机通过这个头告诉服务器,想访问的 ...

  2. python 全栈开发,Day98(路飞学城背景,django ContentType组件,表结构讲解)

    昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...

  3. python 全栈开发,Day70(模板自定义标签和过滤器,模板继承 (extend),Django的模型层-ORM简介)

    昨日内容回顾 视图函数: request对象 request.path 请求路径 request.GET GET请求数据 QueryDict {} request.POST POST请求数据 Quer ...

  4. cookie session ORM 操作

    . ORM增删改查操作 http://www.cnblogs.com/liwenzhou/p/8660826.html . 单表增删改查 . 单表的双下划线操作 . 外键的跨表查询 . 正向查询 . ...

  5. 9.13Django ORM那些事

    2018-9-13 14:23:22 ORM那些事  参考 : https://www.cnblogs.com/liwenzhou/p/8660826.html 今天的都是ORM的查询 更详细进阶了! ...

  6. Django基础(2)--模板自定义标签和过滤器,模板继承 (extend),Django的模型层-ORM简介

    没整理完 昨日回顾: 视图函数: request对象 request.path 请求路径 request.GET GET请求数据 QueryDict {} request.POST POST请求数据 ...

  7. ORM表之间高级设计

    ORM表之间高级设计 一.表的继承 # db_test1 # 一.基表 # Model类的内部配置Meta类要设置abstract=True, # 这样的Model类就是用来作为基表 # 多表:Boo ...

  8. django框架基础-ORM进阶-长期维护

    ###############    ORM进阶---contenttype    ################ 设计思路: """ 路飞有两种课,专题课和学位课, ...

  9. 终于等到你:CYQ.Data V5系列 (ORM数据层)最新版本开源了

    前言: 不要问我框架为什么从收费授权转到免费开源,人生没有那么多为什么,这些年我开源的东西并不少,虽然这个是最核心的,看淡了就也没什么了. 群里的网友:太平说: 记得一年前你开源另一个项目的时候我就说 ...

随机推荐

  1. Vue 动态路由传值

    一.动态路由传值 1.配置动态路由: const routes = [ //动态路由路径参数以:开头 { path: '/Content/:aid', component:Content}, ] 2. ...

  2. Python课程第二天作业

     一.统计字符串格式 要求: # 1.统计元组中所有数据属于字符串的个数,提示: isinstance() # 数据: t1 = (1, 2, '3', '4', 5, '6') # 结果: 3 代码 ...

  3. LSTM编程所用函数

    1.Round函数返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果.可是当保留位跟着的即使是5,有可能进位,也有可能舍去,机会各50% 2.python基础 (1)@property 特 ...

  4. mybatis入门篇:mybatis动态SQL

    1.if用法 <select id="selectUser" resultType="com.forest.owl.entity.User"> se ...

  5. WPF 耗时操作时,加载loging 动画 (BackgroundWorker 使用方法)

    1.定义一个全局 BackgroundWorker private System.ComponentModel.BackgroundWorker bgMeet0; 2.设置执行耗时的任务为True b ...

  6. 优于 swagger 的 java markdown 文档自动生成框架-01-入门使用

    设计初衷 节约时间 Java 文档一直是一个大问题. 很多项目不写文档,即使写文档,对于开发人员来说也是非常痛苦的. 不写文档的缺点自不用多少,手动写文档的缺点也显而易见: 非常浪费时间,而且会出错. ...

  7. springboot学习一:快速搭建springboot项目

    1.idea创建springboot工程 JDK选择1.8以上的版本 选择springboot的版本和添加配置项 新建一个HelloController,测试 访问 http://localhost: ...

  8. java 括号匹配 成对

    import java.util.Stack; public class Solution { public static void main(String[] args) { Solution s ...

  9. 7种清除浮动 (感觉br最好用然而我用的还是overflow)

    1.clear清除浮动(添加空div法) 在浮动元素下方添加空div,并给该元素写css样式: {clear:both;height:0;overflow:hidden;} 2.方法:给浮动元素父级设 ...

  10. python count函数

    描述 Python count() 方法用于统计字符串里某个字符出现的次数.可选参数为在字符串搜索的开始与结束位置. 语法 count()方法语法: str.count(sub, start= 0,e ...