Возвращение скаляра из функции Django

У меня глупый вопрос

Я очень хочу, чтобы нижеприведенная функция возвращала одно число, но она все равно возвращает объект iterable. Не знаете ли вы, как я могу заставить его возвращать скаляр?

pts = skills.objects.filter(creator=request.user).raw('''SELECT sum(cast(points as int)) as id  FROM myapp_skills  WHERE status = 'closed' and creator = %s ''',[request.user.username])

Вот моя модель навыков:

class skills(models.Model):
    skill_name = models.CharField(max_length=400, default="data")
    points = models.CharField(max_length=400, default="data")
    time_required = models.CharField(max_length=400, default="data")
    target_date = models.CharField(max_length=400, default='none')
    category = models.CharField(max_length=400, default="data")
    status =  models.CharField(max_length=400, default="data")
    skill_id =  models.CharField(max_length=400, default="data")
    creator = models.CharField(max_length=400, default="data")
    syllabus = models.CharField(max_length=40000, default="data")

Вы можете сделать ORM-запрос, который выглядит следующим образом:

from django.db.models import IntegerField, Sum
from django.db.models.functions import Cast

pts = skills.objects.filter(
    creator=request.user, status='closed'
).aggregate(
    total=Sum(Cast('points', output_field=IntegerField()))
)['total']
Вернуться на верх