Django------->>>modle
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "modletest.settings")
import django
django.setup()
from apptest import models
# 正向查找
# models.Students.objects.filter(sclass="一班") #这句是错的,ValueError: invalid literal for int() with base 10: '一班'
# obj=models.Students.objects.filter(sclass__cname="一班") #筛选出一班的学生
# obj = obj.first() #得到第一个结果
# obj.sclass #得到sclass的一个对象
# obj.sclass.cname
# 反向查找
# obj = models.Classes.objects.filter(students__sname="张三")
# obj=obj[0]
# obj=obj.students_set.all() # <QuerySet [<Students: 张三>, <Students: 李四>]>
# obj.first().sname #得到张三所在班级的第一个学生的名字
obj = models.Teachers.objects.all().values('teacher_to_class__cls__cname') # 可以通过第三张表进行查询
obj = models.Teachers.objects.filter(tname="张三")
obj = obj[0]
print(obj.teacher_to_class_set.all()) # <QuerySet [<Teacher_to_Class: 1>, <Teacher_to_Class: 5>]>
obj.teacher_to_class_set.all()[0].cls_id.cname
# In [9]: obj.teacher_to_class_set.all()[0].cls
# Out[9]: <Classes: 一班>
#
# In [10]: obj.teacher_to_class_set.all()[0].cls.cname
# Out[10]: '一班'
#
# In [11]: obj.teacher_to_class_set.all()[0].teacher
# Out[11]: <Teachers: 张三>
from django.db import models # Create your models here. class Students(models.Model):
sname = models.CharField(max_length=50)
sclass = models.ForeignKey('Classes') def __str__(self):
return self.sname class Classes(models.Model):
cname = models.CharField(max_length=50) def __str__(self):
return self.cname class Teachers(models.Model):
tname = models.CharField(max_length=50) def __str__(self):
return self.tname class Teacher_to_Class(models.Model):
teacher = models.ForeignKey("Teachers")
cls = models.ForeignKey("Classes") class Meta:
unique_together = (('teacher', 'cls')) def __str__(self):
return str(self.id)
obj=models.Teachers.objects.all()[0]
print(obj.cls.all()) obj = models .Classes .objects.all()[0]
print(obj.teachers_set ) #apptest.Teachers.None
print(obj.teachers_set.filter(tname="张三")) class Teachers(models.Model):
tname = models.CharField(max_length=50)
cls = models.ManyToManyField("Classes") def __str__(self):
return self.tname
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "modletest.settings")
import django
django.setup()
from apptest import models
# 正向查找
# models.Students.objects.filter(sclass="一班") #这句是错的,ValueError: invalid literal for int() with base 10: '一班'
# obj=models.Students.objects.filter(sclass__cname="一班") #筛选出一班的学生
# obj = obj.first() #得到第一个结果
# obj.sclass #得到sclass的一个对象
# obj.sclass.cname
# 反向查找
# obj = models.Classes.objects.filter(students__sname="张三")
# obj=obj[0]
# obj=obj.students_set.all() # <QuerySet [<Students: 张三>, <Students: 李四>]>
# obj.first().sname #得到张三所在班级的第一个学生的名字
obj = models.Teachers.objects.all().values('teacher_to_class__cls__cname') # 可以通过第三张表进行查询
obj = models.Teachers.objects.filter(tname="张三")
obj = obj[]
print(obj.teacher_to_class_set.all()) # <QuerySet [<Teacher_to_Class: 1>, <Teacher_to_Class: 5>]>
obj.teacher_to_class_set.all()[].cls_id.cname
# In [9]: obj.teacher_to_class_set.all()[0].cls
# Out[9]: <Classes: 一班>
#
# In [10]: obj.teacher_to_class_set.all()[0].cls.cname
# Out[10]: '一班'
#
# In [11]: obj.teacher_to_class_set.all()[0].teacher
# Out[11]: <Teachers: 张三>
Django------->>>modle的更多相关文章
- Django modle基础样版
定义一个基类模版, from django.db import models class ModelBase(models.Model): """ "" ...
- python 学习笔记十六 django深入学习一 路由系统,模板,admin,数据库操作
django 请求流程图 django 路由系统 在django中我们可以通过定义urls,让不同的url路由到不同的处理函数 from . import views urlpatterns = [ ...
- Django 基础(一)
Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能 ...
- Python之路,Day14 - It's time for Django
Python之路,Day14 - It's time for Django 本节内容 Django流程介绍 Django url Django view Django models Django ...
- Django模型-数据库操作
前言 前边记录的URLconf和Django模板全都是介绍页面展示的东西,也就是表现层的内容.由于Python先天具备简单而强大的数据库查询执行方法,Django 非常适合开发数据库驱动网站. 这篇开 ...
- django模型——数据库(二)
模型--数据库(二) 实验简介 模型的一些基本操作,save方法用于把对象写入到数据库,objects是模型的管理器,可以使用它的delete.filter.all.order_by和update等函 ...
- django学习笔记(三)模型
1.创建一个django app: python manage.py startapp books 2.validate 命令检查你的模型的语法和逻辑是否正确.一旦你觉得你的模型可能有问题,运行 py ...
- Python框架之Django学习笔记(十)
又是一周周末,如约学习Django框架.在上一次,介绍了MVC开发模式以及Django自己的MVT开发模式,此次,就从数据处理层Model谈起. 数据库配置 首先,我们需要做些初始配置:我们需要告诉D ...
- Django, one-to-many, many-to-many
1.定义关系 定义三个表,Publisher,Book,Author 一个作者有姓,有名及email地址. 出版商有名称,地址,所在城市.省,国家,网站. 书籍有书名和出版日期. 它有一个或多个作者( ...
- Django框架3——模型
Django数据库层解决的问题 在本例的视图中,使用了pymysql 类库来连接 MySQL 数据库,取回一些记录,将它们提供给模板以显示一个网页: from django.shortcuts imp ...
随机推荐
- 人人都是产品经理?关于PM你不知道的还有很多
产品经理的职称最早出现在P&G宝洁公司,因效果非常显著,许多企业纷纷仿而效尤.硅谷知名的产品管理大师Marty Cagan在<Inspired: How To Create Produc ...
- 页面元素的定位:getBoundingClientRect()和document.documentElement.scrollTop
1.document.documentElement.getBoundingClientRect MSDN对此的解释是: Syntax oRect = object.getBoundingClient ...
- vim配置C++开发环境 win10
资料一 —— vim插件的安装 https://www.cnblogs.com/tianzhiyi/p/5338032.html 资料二 —— vim多窗口操作: https://blog.csdn. ...
- CSS骚操作
获取当前HTML页面根元素的字体大小 getComputedStyle(document.getElementsByTagName("html")[0],undefined).fo ...
- [NOIP补坑计划]NOIP2017 题解&做题心得
终于做完了…… 场上预计得分:?(省一分数线:295) 由于看过部分题解所以没有预计得分qwq 题解: D1T1 小凯的疑惑 题面 震惊!一道小学奥数题竟难倒无数高中考生! 欢迎大家以各种姿势*和谐* ...
- IOS - 退出程序
- (void)exitApplication { OAAppDelegate *app = [UIApplication sharedApplication].delegate; UIWindow ...
- 循环语句第3种 FOR ... in ... LOOP END LOOP;
--------第3种-------- FOR ... in ... LOOP END LOOP; BEGIN FOR i IN 1..10 LOOP dbms_output ...
- 使用BabeLua在cocos2d-x中编辑和调试Lua
使用BabeLua在cocos2d-x中编辑和调试Lua BabeLua是一款基于VS2012/2013的Lua集成开发环境,具有Lua语法高亮,语法检查.自己主动补全.高速搜索,注入宿主程序内对Lu ...
- BTrace介绍和生产环境样例
BTrace latest realese: release-1.2.5.1 BTrace guide(1.2-20101020): http://kenai.com/projects/btrace/ ...
- 接口測试-HAR
參考文章 雪球的 HttpApi 接口測试框架设计 HAR(HTTP Archive)规范 神器--Chrome开发人员工具(一) HAR是什么 一句话:关于HTTP所有的信息的一种文件保存格式 HA ...