Есть ли способ добавить значения модели в django?

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

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

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>

Где вы хотите его хранить?

Daniel Roseman 07.06.2019 17:24

Хорошо подумав об этом еще раз, мне не обязательно хранить его где-то, если есть способ без сохранения значения

Fatih 07.06.2019 17:28
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
2
20
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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 }}

Поля могут быть пустыми/нулевыми, поэтому sum([self.maandag or 0, self.dinsdag or 0, ...]) может быть лучше.

John Gordon 07.06.2019 17:34

Немного менее многословно было бы sum(i or 0 for i in [self.mandag,...]). А может sum(filter(None, [self.maandag,...]))

Daniel Roseman 07.06.2019 17:44

Другие вопросы по теме