一. 配虚拟环境

进入创建好的环境下操作

二. 连接数据库
进入settings.py中添加数据库信息

修改语言

启动服务器


进入app下 init.py导入pymsql

在app下models.py下创建迁移文件

创建数据库dj7

执行迁移文件

在数据库查看迁移过去的数据

在app下views.py对数据库进行增删改查

在urls.py添加路由

然后运行

ORM
(Ojects Relational Mapping)对象映射关系射,是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。可以简单理解为翻译机。

模型查询
objects --> 模型成员objecs
Django默认通过模型的objects对象实现模型数据查询
过滤器
filter() --> 返回复合条件的数据
exclude() --> 返回不符合筛选条件的数据集
all() -->返回所有数据
order_by -->排序
values() --> 一条数据就是一个字典,返回一个列表
get() --> 返回一个符合条件的对象,如果没有就会报错,如果有多个也会报错。
first() --> 返回查询第一个对象
last() -->返回查询的最后一个
count() --> 返回查询对象的数量
exists()--> 判断查询是否有数据,如果有就返回True,没有就返回False

限制查询集
限制查询集,可以使用下表的方法进行限制,等同于sql中的limit
模型名.objects.all()[0:5] 小标不能为负数
字段查询
对sql中的where实现,作为方法,filter(),exclude(),get()的参数
语法:属性名称__比较运算符 = 值
外键:属性名_id

比较运算
contions --> 查询包含信息,大小敏感
icontions --> 大小写不敏感,相当于SQL中的模糊查询like'%%'
stsrtswith-->查询以什么开始的信息,相当于SQL中的like '%'
endswitch --> 查询以什么结尾的信息。相当于SQl中 like '%_'

in:包含在范围内
__gt -->大于,__gte --> 大于等于
__lt --> 小于, __lte --> 小于等于
pk --> 表示主键

聚合函数
agregate()函数返回聚合函数的值
Avg:平均值
Count:数量
Max:最大
MIn:最小
Sum:求和


F对象 / Q对象
F()对象:可以使用模型的A属性和B属性进行比较
Q()对象:为了将过滤条组合起来
当我们在查询条件中需要组合条件时(‘且(&)’,‘与(|)’,非(~)),可以使用Q()查询对象


网友评论