码迷,mamicode.com
首页 > 编程语言 > 详细

实训第八天 有关python orm 的学习记录 常用方法01

时间:2020-01-01 20:47:08      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:family   定义   kkk   objects   python   clu   filter   规则   first   

沿用第七天的数据库,数据库现在是这样的:

技术图片

配置好主路由include子路由

技术图片

 

子路由引入views

技术图片

 

在views页面定义test测试请求如下:

def test(request):
# 1.all()方法:获取所有的对象,返回一个QuerySet类型
ret = models.Person.objects.all()
print(ret) # <QuerySet [<Person: <obj name:lxkk>>, <Person: <obj name:kkk>>, <Person: <obj name:las>>, <Person: <obj name:lls>>]>
print(ret[1].name, ret[1].age)

运行结果:
技术图片

# 2.filter()方法,过滤出符合条件的对象,返回一个QuerySet类型
ret = models.Person.objects.filter(age=21)
print(ret)
print(ret[0].name)
技术图片

# 多个条件
# 转换成sql后使用and连接
ret = models.Person.objects.filter(age=21, height=175)
print(ret)
技术图片

# 3.get()方法:获取具体的某一个对象 ,如果查询不到则报错,如果查询出多个来也会报错,返回值是符合条件的对象
ret = models.Person.objects.get(id=14)
print(ret)
print(ret.age)
技术图片

# 4.first()返回查询的第一个对象
ret = models.Person.objects.filter(age=21).first()
print(ret)
技术图片

ret = models.Person.objects.filter(age=19).first()
print(ret) # 列表信息存在
print(ret[0].name) # 命令行下打印查找到的信息
技术图片

 

 


ret = models.Person.objects.filter(age=50).first()
print(ret) # 列表为空
print(ret[0].name) # 报错
技术图片

 

 

技术图片

ret = models.Person.objects.filter(age=50).first()
print(ret) # 列表中不存在相匹配的信息,不报错,返回None
技术图片

# 5.last()方法:取出查询结果的最后一个,返回一个具体的对象
ret = models.Person.objects.filter(age=21).last()
print(ret)
技术图片

 

 

# 6.order_by() 排序:默认按照升序排序,在属性前面添加‘-’号表示降序
ret = models.Person.objects.filter(age=21).order_by(‘id‘)
print(ret) # 升序
技术图片

 

ret = models.Person.objects.filter(age=21).order_by(‘-id‘)
print(ret) # 降序
技术图片

 

 # 如果有多个排序规则,则使用逗号隔开即可
ret = models.Person.objects.order_by(‘age‘, ‘-id‘)
print(ret)
技术图片

 

return HttpResponse(常用方法‘)

实训第八天 有关python orm 的学习记录 常用方法01

标签:family   定义   kkk   objects   python   clu   filter   规则   first   

原文地址:https://www.cnblogs.com/shugelx/p/12129525.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!