0
을 감안할 때 그 모델 :Django의 ORM을 사용하여 하위 쿼리를 사용하여 집계를 검색하는 방법?
from django.conf import settings
from django.contrib.auth import get_user_model
from django.db import models
class UserProfile(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL)
related_to = models.ForeignKey(
settings.AUTH_USER_MODEL, blank=True, null=True, related_name='profile')
# a few other fields
class Metric(models.Model):
user = models.ForeignKey(
settings.AUTH_USER_MODEL, verbose_name='user', related_name='metrics')
value = models.FloatField(verbose_name='value')
target = models.FloatField(verbose_name='target value', default=0)
date_measured = models.DateField(verbose_name='date measured')
사용자는 부모 - 자녀 관계로, 다른 사용자에게 관련 될 수있다.
ORM을 사용하여 메트릭 (합계 값과 합계)의 합계를 사용하여 모든 사용자의 하위를 가장 잘 검색하는 방법은 무엇입니까? 이 RAW SQL과 유사한
뭔가 :
items = get_user_model().objects \
.filter(userprofile__related_to__id=1) \
.annotate(
meta=Sum('metric__meta'),
value=Sum('metric__value'),
) \
이렇게했습니다. 감사! –