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()


 
posted @ 2022-04-04 22:13  张丶先森  阅读(1396)  评论(0)    收藏  举报