Я хочу добиться чего-то сложного с помощью набора запросов django.Моя модель выглядит так:
class Mymodel(models.Model):
#Model Variables
year = models.IntegerField()
month = models.IntegerField()
date = models.DateField(_("Date"), default=datetime.date.today)
score = models.CharField(max_length=50)
К сожалению,
оценка 'не может измениться с CharField () на FloatField ()
,он должен храниться в виде строки.
Мне нужно сложить все баллы по годам и месяцам.Я пытался сделать что-то подобное, чтобы сгруппировать все результаты без особого успеха.
values = Mymodel.objects.all().values(
'year', 'month').annotate(Sum('score')).order_by('year', 'month')
Я пытался разыграть «счет», прежде чем использовать аннотирование, делая это.
values = Mymodel.objects.all().annotate(
scoreFloat=Cast('score', FloatField())
).values('year', 'month').annotate(
Sum('scoreFloat')).order_by('year', 'month')
Еще раз безуспех, так как я получаю KeyError для параметра ScoreFloat.
Есть предложения?