Django数据库中常用的过滤操作

  • A+
所属分类:python基础入门

# 获取所有数据,返回QuerySet,里面包含的是对象

models.DjangoInfo.objects.all()

# 获取所有的id,name数据,返回QuerySet,里面包含的是字典

models.DjangoInfo.objects.all().values("id","name")

# 获取所有的id,name数据,返回QuerySet,里面包含的是元组

models.DjangoInfo.objects.all().values_list("id","name")

# 获取所有数据,返回数据总数

models.DjangoInfo.objects.all().count()

# 获取id大于3的所有数据

models.DjangoInfo.objects.filter(id__gt=3)

# 获取id大于等于3的所有数据

models.DjangoInfo.objects.filter(id__gte=3)

# 获取id小于3的所有数据

models.DjangoInfo.objects.filter(id__lt=3)

# 获取id小于等于3的所有数据

models.DjangoInfo.objects.filter(id__lte=3)

# 获取id等于3,4,5的所有数据

models.DjangoInfo.objects.filter(id__in=[3,4,5])

# 获取id不等于3,4,5的所有数据

models.DjangoInfo.objects.exclude(id__in=[3,4,5])

# 获取name包含“o”的所有数据

models.DjangoInfo.objects.filter(name__contains="o")

# 获取name包含“o”的所有数据,不区分大小写

models.DjangoInfo.objects.filter(name__icontains="o")

# 获取id在3-5之间的数据,包含3和5

models.DjangoInfo.objects.filter(id__range=[3,5])

# 获取所有数据,以id升序排列

models.DjangoInfo.objects.all().order_by("id")

# 获取所有数据,以id降序排列

models.DjangoInfo.objects.all().order_by("-id")

# 获取所有数据,截取第1条到第3条(从0开始),包括1,不包括3

models.DjangoInfo.objects.all()[1:3]

# 获取id,以及外键关联的表中的name数据

models.DjangoInfo.objects.all().values("id","b__name")

weinxin
我的微信公众号
爱真理,得永生!          爱在灵灵久博客,网罗天下,福利大家!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: