Django QuerySet 쿼리(진급 쿼리)

1014 단어 Djangodjango
F:F 표현식은 항상 데이터 차원의 계산을 실행하여 경쟁 상태를 피하는 데 사용된다.예를 들어 매 문장의 방문량은post가 존재한다고 가정한다.pv 필드
from django.db.models import F
post = Post.objects.get(id=1)
post.pv = F('pv') + 1
post.save()

Q:Q 표현식은 OR 또는 AND 질의를 해결하는 데 사용됩니다.
from Django.db.models import Q
post = Post.object.get(id=1)
Post.objects.Filter(Q(id=1) | Q(id=2))

#     AND  

Post.object.filter(Q(id=1) & Q(id=2))

Count: 수량을 계산하여 집합 검색을 하는데 사용한다. 예를 들어 사랑의 분류 문장의 개수를 얻으려면
from Django.db.models import Count
categories = Category.objects.annotate(posts_count=Count('love'))
print(categories[0].posts_count)

category 동적에 속성posts 증가count, 이 속성의 값은postscount = Count(‘love’)
Sum: 합계를 하는 데 쓰입니다.예를 들어 현재 모든 문장을 합친 방문량을 통계해야 한다
from django.db.models import Sum
Post.objects.aggregate(all_pv = Sum('pv'))

위에서 annotate와aggregate의 용법을 소개했는데, 그 중에서 전자는QuerySet 결과에 속성을 증가시키는 데 사용되고, 후자는 결과를 직접 계산하는 데만 사용된다
 

좋은 웹페이지 즐겨찾기