py文件单独调试django ORM的配置

1.新建一个py文件
2.代码环境搭建

 1 import os
 2 
 3 if __name__ == '__main__':
 4 # 加载django项目的配置信息
 5 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "orm_pro.settings") # 就在manage.py 文件中第8行
 6 # 导Django 并 启动Django项目
 7 import django
 8 django.setup()
 9 
10 from app01 import models

3.输入需要测试的查询代码

13种查询方法

语法 作用


all()    查询全部
get(字段='xx')    查找指定值的对象 没有结果会报错
filter(条件)     作用同上,没有不会报错 返回列表
exclude(条件)     排除查询,返回不符合条件的所有对象 返回列表
values(字段,)     按字段 返回字段值 返回字典
values_list(字段,)     同上,返回列表,里边是元祖
order_by(字段)     根据指定字段排序
reverse()     反向排序! 前提是已经有顺序才能反序
distinct()     查询结果去重
count()    取查询到的对象 列表个数
first()    第一个
last()    最后一个
exists()    如果返回列表有数据就返回True,否则返回False

实例

 1 import os
 2 
 3 # 在py中测试ORM的代码环境搭建:
 4 if __name__ == '__main__':
 5 # 加载django项目的配置信息
 6 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "orm_pro.settings") # 就在manage.py的第六行
 7 # 导Django 并 启动Django项目
 8 import django
 9 django.setup()
10 
11 from app01 import models
12 
13 # all()查询
14 ret = models.Person.objects.all()
15 print(ret)
16 
17 # get查询 (查询没有对应结果时会报错) 取到对象
18 ret = models.Person.objects.get(name='老王')
19 print(ret)
20 
21 # filter(**kwargs) 同get但不报错, 取到对象列表,可以批量查询
22 # 对象列表 ,在django叫 QuerySet对象
23 ret = models.Person.objects.filter(id=1) # 查询id1的对象列表
24 print(ret[0])
25 
26 # exclude 排除查询 返回列表
27 ret = models.Person.objects.exclude(id=1) # 取除id=1之外的所有
28 print(ret)
29 
30 # values 按字段 来查找返回,该字段的值(列表)里边是字典
31 ret = models.Person.objects.values('id','name')
32 print(ret) # [{'id': 1, 'name': '小张'}, {'id': 2, 'name': '老王'}]
33 
34 # values_list 同上,返回列表,里边是元祖
35 ret= models.Person.objects.values_list('id','name')
36 print(ret) # [(1, '小张'), (2, '老王')]
37 
38 # order_by 根据指定字段排序
39 ret = models.Person.objects.order_by('id')
40 print(ret)
41 
42 # reverse 反向排序! 前提是已经有顺序才能反序
43 ret = models.Person.objects.order_by('id').reverse()
44 print(ret)
45 
46 # distinct() 去重
47 
48 # count() 取 查询到的对象 列表个数
49 
50 # first() 第一个
51 
52 # last() 最后一个
53 
54 # exists() 如果返回列表有数据就返回True,否则返回False

猜你喜欢

转载自www.cnblogs.com/linkenpark/p/10911126.html