码迷,mamicode.com
首页 > 其他好文 > 详细

Django ORM 常用的13个方法

时间:2020-11-08 16:57:58      阅读:25      评论:0      收藏:0      [点我收藏+]

标签:否则   ble   ever   imp   无效   必须   __name__   test   运行   

Django ORM 常用的13个方法


1. Django ORM 常用的13个方法

在py脚本内运行ORM操作的方法:

  
if __name__ == "__main__":  
    # 环境配置  
    import django  
    os.environ.setdefault(‘DJANGO_SETTINGS_MODULE‘, ‘dj_site.settings‘)  
    django.setup()  

    from dbtest.models import Publish,Book,Author,AuthorDetail,TableTest  

然后就可以像在django环境内一样操作ORM语句了。

2. 常用的13个方法:

  
1. models.Book.objects.all()  # 获取到所有的书籍对象,结果是对象列表  

2. models.Book.objects.get(条件)  # 获取符合条件的对象  

3. models.Book.objects.filter(条件)  # 筛选所有符合条件的,结果是对象列表  

4. models.Book.objects.exclude(条件)  # 筛选出所有不符合条件的,结果是对象列表  

5. models.Book.objects.all().values( )  # 字典列表,[ {id:1,name:20} , {id:2,name:18} ]  

 values(‘id’)括号内不指定时显示全部,如指定则只显示指定的,[ {id:1} , {id:2,} ]  

6. models.Book.objects.all().values_list( )  # 元组列表,[ (1,20) , (2,18) ]同上,指定时显示指定内容  

7. models.Book.objects.all().order_by(‘id’)  # 按照id升序就行排列  

models.Book.objects.all().order_by(‘-id’)  # 按照id降序就行排列  

models.Book.objects.all().order_by(‘age’ , ‘-id’)  # 先按age升序,age相同的按id进行降序排列  

8. models.Book.objects.all().order_by(‘id’).reverse()  # 对结果反转; 注意reverse前必须排序,  

否则reverse无效; 或在model.py文件中Book类中的Meta中指定ordering=(‘id’ , )注意逗号必须有  

9. distinct():  # 去重,当获取到的结果Queryset列表中同一对象出现多次时去重,只留一个  

10. models.Book.objects.all().count()  # 计数,可统计结果个数,如对Queryset内元素数进行统计.  

11. models.Book.objects.all().first()  # 获取结果中的第一条,即使前面结果列表为空,也不会报错  

12. models.Book.objects.filter().last()  # 获取结果中的最后一条  

13.models.Book.objects.filter().exists()  # 判断Queryset列表是否有东西,结果为True或False;  

3. 小结:

返回对象列表(Queryset)的方法有:

all() filter() ordey_by() exclude() values() values_list() reverse() distinct()

返回单个对象的方法有:

first() last() get() create()创建一个对象,且返回刚创建的对象

判断布尔值的有:

exists()

返回数字的有:

count()

Django ORM 常用的13个方法

标签:否则   ble   ever   imp   无效   必须   __name__   test   运行   

原文地址:https://www.cnblogs.com/wodeboke-y/p/13928378.html

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