django 从零开始 6 数据库模型增删改查

这些都是凭记忆写下的,有些会漏掉,在之后的笔记中会写

和flask query不同,django是使用objects进行一个查询

查询

单条记录

django

模型.bojects.get(查询的字段=查询的字段) 

flask

模型.query.get(id=查询的id)  flask的get只能查询主键      其他查询和django基本一样

其中除了django除了get方法之外的查询结果都是查询集setquery,get则是对象  而查询集可以进行一个再次筛选

进行条件查询 filter      

模型.query.filter(查询的字段=查询的字段).all()  查询字段的全部

 模型.query.filter(查询的字段=查询的字段).filter(再次进行操作)   

 模型.query.filter(查询的字段=查询的字段).filter(再次进行操作) .first()  筛选一条数据

 模型.query.filter(查询的字段__gt=字段)   被查询字段大于进行查询字段

 模型.query.filter(查询的字段__gte=字段)   被查询字段大于等于进行查询字段

 模型.query.filter(查询的字段__lt=字段)   被查询字段小于进行查询字段

 模型.query.filter(查询的字段__lte=字段)   被查询字段小于等于进行查询字段

 模型.query.filter(查询的字段__contains='模糊词')  查询所有包含这个模糊词的查询集

模型.query.filter(查询的字段__startswith='模糊词')      查询第一个字为这个模糊词的查询集

模型.query.filter(查询的字段__endswith='模糊词')       查询最后一个包含这个模糊词的查询集

改 

obj = 模型.query.filter(查询的字段__endswith='模糊词').first()

obj = 模型.bojects.get(查询的字段=查询的字段)  

总之就是把对象查询出来,对对象进行一个修改

比如 obj 对象中含有name 属性 更改

obj.name = '小明'

obj.save()

删除

同改一样,先把对象找出来 进行一个删除

obj = 模型.bojects.filter(查询的字段=查询的字段)  

obj.delete()

增加就很简单了,我就不详细说了

不过要注意,如果用户表密码需要加密 可以使用

from django.contrib.auth.hashers import check_password,make_password         自带的库进行一个加密和验证

u = User()
u.name = name
u.password = make_password(password)      加密
u.save()