Django项目 ORM常用的十三种查询方法


all():查询所有的结果

示例:

publisher = models.Publisher.objects.all()         #查询所有的出版社信息

get():
publisher = models.Publisher.objects.get(id = 1)    # get查询数据不存在时会保错

filter():
publisher = models.Publisher.objects.filter(id = 1) #不存在的时候返回一个空的Queryset 不会报错
publisher = models.Publisher.objects.filter(id = 1)[0] #就算查询的结果只有一个 返回的也是一个Queryset 列表  要用索引的方式取出第一个元素

exclude():
publisher = models.Publisher.objects.exclude(id = 1)   #排除掉id等于1的数据

values():
publisher = models.Publisher.objects.values("name","type")   #返回一个Queryset对象  里面全是字典   为空的话  默认查出所有数据

values_list():
publisher = models.Publisher.objects.values_list("name") #  返回一个Queryset对象  里面全是列表为空的话  默认查出所有数据

order_by():
publisher = models.Publisher.objects.all().order_by("time")   #根据xxx排序

reverse(): #反转
publisher = models.Publisher.objects.all().order_by("time") .reverse()  #只能对有序的Queryset  进行反转
count(): 返回Queryset中对象的数量
publisher = models.Publisher.objects.all().count()

frist(): 返回Queryset中第一个对象
publisher = models.Publisher.objects.all().frist()

last():返回Queryset中最后一个对象

publisher = models.Publisher.objects.all().last()

exists(): 查询表中是否有数据 有就返回True 没有就是False
publisher = models.Publisher.objects.exists()


 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM