Я пытаюсь выполнить сумму различных строк модели в соответствии с указанными c значениями столбца, в этом случае я хочу выполнить суммирование в соответствии с неделей и указанным c автомобилем, например:
Car Week Payment
1 2020-W06 $500
1 2020-W06 $300
2 2020-W06 $200
1 2020-W05 $500
Итак, я перехожу к запросу автомобиль и неделю, и он должен получить сумму платежей в соответствии с этими значениями
Я передаю автомобиль = 1 и Неделя = 2020-W06 и Сумма платежа = 800
это мой набор запросов:
payed = Pagos.objects.filter(carro_id=1, semana=semana).annotate(total=Sum('pago'))
и вот результат, который я получаю:
<Pagos: Pagos object (6)>, <Pagos: Pagos object (12)>]
Я не понимаю, почему я не получите сумму
models.py
class Pagos(models.Model):
carro = models.ForeignKey(
Carros, on_delete=models.CASCADE, blank=False, null=False)
pago = models.DecimalField(max_digits=6, decimal_places=2)
fecha = models.DateField(
auto_now=False, auto_now_add=False, blank=True, null=True)
semana = models.CharField(max_length=20)
startweek = models.DateField(
auto_now=False, auto_now_add=False, blank=True, null=True)
endweek = models.DateField(
auto_now=False, auto_now_add=False, blank=True, null=True)
renta = models.ForeignKey(
Renta, on_delete=models.PROTECT, blank=False, null=False)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
verbose_name_plural = "Pagos"
def get_absolute_url(self):
return reverse('pagos')
class Carros(models.Model):
nombre = models.CharField(max_length=20, blank=True, null=True)
marca = models.CharField(max_length=25)
modelo = models.CharField(max_length=25)
year = models.IntegerField()
placa = models.CharField(max_length=10, unique=True)
color = models.CharField(max_length=10)
conductor = models.ForeignKey(
Conductores, on_delete=models.SET_NULL, blank=True, null=True)
propietario = models.ForeignKey(Propietarios, on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
verbose_name_plural = "Vehículos"
def __str__(self):
return self.nombre
def get_absolute_url(self):
return reverse('carros')