模型_数据的基本查询
原创...大约 1 分钟
查询方式
Model.objects.get( )
返回一个匹配的对象Model.objects.all( )
返回一个 QuerySet,包含所有数据Model.objects.filter( )
返回一个新的 QuerySet,包含复合规则的Model.objects.exclude( )
返回一个新的 QuerySet,不包含指定规则的
通常与 QuerySet 交互时,会通过 链式过滤器 来使用它。为了实现这一目的,大多数 QuerySet 方法都会返回新的查询集
get 获取一个对象
from django.http import JsonResponse
from modules.login.models import Place, Restaurant, Waiter, Food
def loginFunc1(request):
w1 = Food.objects.get(id=1)
w2 = Food.objects.get(pk=2)
print(w1.name, w2.name) # 鸡腿汉堡 鸡腿汉堡3
return JsonResponse({"msg": "yes"})
提示
pk 是主键的别名(primary key),如果真实主键是 id,那么 pk 和 id 使用是一样的效果
all 获取所有对象
from django.http import JsonResponse
from modules.login.models import Place, Restaurant, Waiter, Food
def loginFunc1(request):
w3 = Food.objects.all()
print(w3)
return JsonResponse({"msg": "yes"})
过滤使用 filter,
查出符合指定条件的
from django.http import JsonResponse
from modules.login.models import Place, Restaurant, Waiter, Food
def loginFunc1(request):
w4 = Food.objects.filter(name="鸡腿汉堡")
print(w4)
return JsonResponse({"msg": "yes"})
过滤使用 exclude,
查出不符合指定条件的
from django.http import JsonResponse
from modules.login.models import Place, Restaurant, Waiter, Food
def loginFunc1(request):
w5 = Food.objects.exclude(name="鸡腿汉堡")
print(w5)
return JsonResponse({"msg": "yes"})
Queryset 链式编程
from django.http import JsonResponse
from modules.login.models import Place, Restaurant, Waiter, Food
def loginFunc1(request):
w6 = Food.objects.exclude(name="鸡腿汉堡").filter(pk=3)
print(w6)
return JsonResponse({"msg": "yes"})
Powered by Waline v2.15.7