django資料庫操作
阿新 • • 發佈:2019-02-01
# 獲取個數
models.Tb1.objects.filter(name='seven').count()
# 大於,小於
models.Tb1.objects.filter(id__gt=1) # 獲取id大於1的值
models.Tb1.objects.filter(id__lt=10) # 獲取id小於10的值
models.Tb1.objects.filter(id__lt=10, id__gt=1) # 獲取id大於1 且 小於10的值
# in
models.Tb1.objects.filter(id__in=[11 , 22, 33]) # 獲取id等於11、22、33的資料
models.Tb1.objects.exclude(id__in=[11, 22, 33]) # not in
# contains
models.Tb1.objects.filter(name__contains="ven")
models.Tb1.objects.filter(name__icontains="ven") # icontains大小寫不敏感
models.Tb1.objects.exclude(name__icontains="ven")
# range
models.Tb1.objects.filter(id__range=[1, 2]) # 範圍bettwen and
# 其他類似
startswith,istartswith, endswith, iendswith,
# order by
models.Tb1.objects.filter(name='seven').order_by('id') # asc
models.Tb1.objects.filter(name='seven').order_by('-id') # desc
# limit 、offset
models.Tb1.objects.all()[10:20]
# group by
from django.db.models import Count, Min, Max, Sum
models.Tb1.objects.filter(c1=1).values('id').annotate(c=Count('num'))
SELECT "app01_tb1"."id", COUNT("app01_tb1"."num") AS "c" FROM "app01_tb1"
WHERE "app01_tb1"."c1" = 1 GROUP BY "app01_tb1"."id"