开发者社区> 问答> 正文

Django中的ORM中的方法具体都有些什么呢?

Django中的ORM中的方法具体都有些什么呢?

展开
收起
游客vwuxaq6iqaowc 2021-11-05 18:09:51 399 0
1 条回答
写回答
取消 提交回答
    1. models.Book.objects.all() # 获取到所有的书籍对象,结果是对象列表

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

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

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

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

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

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

      3. 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进行降序排列

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

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

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

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

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

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

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

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

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

      返回单个对象的方法有:

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

      判断布尔值的有:

      exists()

      返回数字的有:

      count()

    2021-11-05 18:10:19
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载