Django学习之ORM练习题】的更多相关文章

一.表关系 创建表关系,并创建约束 班级表:class 学生表: student cid caption grade_id sid sname gender class_id 1 一年一班 1 1 乔丹 女 1 2 二年一班 2 2 艾弗森 女 1 3 三年二班 3 3 科比 男 2 老师表:teacher 课程表: course tid tname cid cname teacher_id 1 张三 1 生物 1 2 李四 2 体育 1 3 王五 3 物理 2 成绩表:score 年级表: c…
一.聚合查询和分组查询 1.聚合查询aggregate 关于数据表的数据请见上一篇:Django 学习 之ORM多表操作(点我) aggregate(*args, **kwargs),只对一个组进行聚合 # (1)计算所有图书的平均价格 from django.db.models import Avg, Sum, Count, Max, Min avg_price = models.Book.objects.all().aggregate(Avg("price")) print(avg…
1.前言 django的ORM框架提供的查询数据库表数据的方法很多,不同的方法返回的结果也不太一样,不同方法都有各自对应的使用场景. 主要常用的查询方法个数是13个,按照特点分为这4类: 方法返回值是可迭代对象QuerySet:all(),filter(),exclude(),order_by(),reverse(),values(),values_list(),distinct(): 方法返回值是单个对象:get(),first(),last(): 方法返回值是布尔值:exists(): 方法…
ORM 查询的数据类型: QuerySet与惰性机制(可以看作是一个列表) 所谓惰性机制:表名.objects.all()或者.filter()等都只是返回了一个QuerySet(查询结果集对象),它并不会马上执行sql,而是当调用QuerySet的时候才执行. QuerySet特点: <1>  可迭代的 <2>  可切片 <3>  惰性计算和缓存机制 例: info=models.table_name.objects.all()[0:5] #切片 info= mode…
定义表结构: class Host(models.Model): hostname = models.CharField(max_length=32) port = models.IntegerField() class HostAdmin(models.Model): username = models.CharField(max_length=32) email = models.CharField(max_length=32) host = models.ManyToManyField(H…
一.一般操作 二.必知必会13条 返回QuerySet对象的方法有 特殊的QuerySet 返回具体对象的 返回布尔值的方法有 返回数字的方法 三.单表查询之神奇的双下划线 四.ForeignKey操作 4.1 正向查找 4.1.1 对象查找(跨表) 4.1.2 字段查找(跨表) 4.2 反向操作 4.2.1 对象查找 4.2.2 字段查找 五.ManyToManyField 5.1 class RelatedManager 方法 六.聚合查询和分组查询 6.1 聚合 6.2 分组 更多示例:…
原始是这样连接数据库的: 现在改用django orm (1)先在setting里配置app (2)在modle.py里建model class UserMessage(models.Model): object_id = models.CharField(max_length=50, primary_key=True, default="", verbose_name=u"主键") name = models.CharField(max_length=20, nu…
一.创建模型 1.模型关系整理 创建一对一的关系:OneToOne("要绑定关系的表名") 创建一对多的关系:ForeignKey("要绑定关系的表名") 创建多对多的关系:ManyToMany("要绑定关系的表名")  会自动创建第三张表 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many); 一本书只应该由一个出版商出版,所以出版商和书籍是一对多…
一.ORM简介 1.ORM概念 对象关系映射(Object Relational Mapping,简称ORM). 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库层之间充当了桥梁的作用. 咱们通过一张图来介绍一下数据库与python代码之间的一个关系,请看下图: 2.ORM的功能 ORM的两大功能: 操作表: - 创建表 - 修改表 - 删除表 操作数据行 - 增删改查 ORM利用pymysql第三方工具链接数据库…
报错问题: 问题一:(1050代码) django.db.utils.InternalError: (1050, "Table 'app01_group' already exists") 解决办法: python manage.py migrate app名 --fake 问题二:(1146代码) django.db.utils.ProgrammingError: (1146, "Table 'anec.app01_usergroup' doesn't exist"…