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

# 获取所有数据,返回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”)