Django模型操作(Pycharm)

一. 配虚拟环境


image.png

进入创建好的环境下操作


image.png

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


image.png

修改语言


image.png

启动服务器


image.png
image.png

进入app下 init.py导入pymsql

image.png

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


image.png

创建数据库dj7

image.png

执行迁移文件


image.png

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


image.png

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


image.png

在urls.py添加路由


image.png

然后运行


image.png

ORM

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

image.png

模型查询

objects --> 模型成员objecs
Django默认通过模型的objects对象实现模型数据查询

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


image.png

限制查询集
限制查询集,可以使用下表的方法进行限制,等同于sql中的limit
模型名.objects.all()[0:5] 小标不能为负数

字段查询
对sql中的where实现,作为方法,filter(),exclude(),get()的参数
语法:属性名称__比较运算符 = 值
外键:属性名_id


image.png

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

image.png

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


image.png

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


image.png
image.png

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


image.png
image.png

你可能感兴趣的:(Django模型操作(Pycharm))