Есть ли способ сложить значения модели в Django? - PullRequest
0 голосов
/ 07 июня 2019

Я хочу получить общее количество всех дней. Я не могу понять, как добавить их и сохранить общую стоимость. Кто-нибудь знает, как я мог это исправить?

Вот моя модель:

class Weekstaat(models.Model):
    id = models.AutoField(primary_key=True, null=False, blank=False)
    status = models.CharField(max_length=11, choices=STATUS_CHOICES, default='Niet ingediend',)
    jaar = models.ForeignKey(Jaar, default=datetime.now().year, null=False, blank=False,on_delete=models.CASCADE)
    week = models.ForeignKey(Week, default=date.today().isocalendar()[1], null=False, blank=False,on_delete=models.CASCADE)
    werknemer = models.ForeignKey(User, related_name='weekstaat_werknemer', null=False, blank=False, default=1,on_delete=models.CASCADE)
    #contract = models.ForeignKey(Contract, null=False, blank=False, default=1,on_delete=models.CASCADE)
    maandag = models.FloatField(null=True, blank=True, default=0)
    dinsdag = models.FloatField(null=True, blank=True, default=0)
    woensdag = models.FloatField(null=True, blank=True, default=0)
    donderdag = models.FloatField(null=True, blank=True, default=0)
    vrijdag = models.FloatField(null=True, blank=True, default=0)
    zaterdag = models.FloatField(null=True, blank=True, default=0)
    zondag = models.FloatField(null=True, blank=True, default=0)

    def __str__(self):
        return str(self.jaar) + ' week ' + str(self.week) + str(self.werknemer) + str(self.status)

и вот HTML:

                  <td class="text-center">
                    {{ Weekstaat.maandag }}
                  </td>
                  <td class="text-center">
                    {{ Weekstaat.dinsdag }}
                  </td>
                  <td class="text-center">
                    {{ Weekstaat.woensdag }}
                  </td>
                  <td class="text-center">
                    {{ Weekstaat.donderdag }}
                  </td>
                  <td class="text-center">
                    {{ Weekstaat.vrijdag }}
                  </td>
                  <td class="text-center">
                    {{ Weekstaat.zaterdag }}
                  </td>
                  <td class="text-center">
                    {{ Weekstaat.zondag }}
                  </td>
                  <td class="text-center"> 
                   ...................
                  </td>

1 Ответ

1 голос
/ 07 июня 2019

Мне не совсем понятно, о чем вы спрашиваете, но, возможно, подойдет простой метод модели:

class Weekstaat(models.Model):
    ...

    def total(self):
        return sum([self.maandag, self.dinsdag, self.woensdag, self.donderdag, self.vrijdag, self.zaterdag, self.zondag])

Тогда вы можете просто сделать:

{{ weekstaat.total }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...