@vladibuyanov

Как производить вычисления в Django?

В форме ResultForm на вход я получаю вот такие данные:

class ResultForm(ModelForm):
    class Meta:
        model = ResultInput
        fields = ['name', 'age', 'time', 'f1', 'f2', 'f3']
        widgets = {
            'name': TextInput(
                attrs={
                    'class': 'form-control',
                    'placeholder': "Enter your name"}
            ),
            'age': TextInput(
                attrs={
                    'class': 'form-control',
                    'placeholder': "Enter your age"}
            ),
            'time': TextInput(
                attrs={
                    'class': 'form-control',
                    'placeholder': "Enter time"}
            ),
            'f1': TextInput(
                attrs={
                    'class': 'form-control',
                    'placeholder': "Enter f1"}
            ),
            'f2': TextInput(
                attrs={
                    'class': 'form-control',
                    'placeholder': "Enter f2"}
            ),
            'f3': TextInput(
                attrs={
                    'class': 'form-control',
                    'placeholder': "Enter f2"}
            ),
        }


При этом в модели я хотел бы иметь еще одно значение которое соответствовало бы результату вычислений result = time * 100 / (f1+ f2 + f3) * 2. Как можно произвести данные расчеты и записать это в виде results в ту же модель?
Заранее выражаю благодарность тем, кто откликнется :)

Модель:
class ResultInput(models.Model):
    name = models.CharField('Name', max_length=50)
    age = models.IntegerField('Age')
    time = models.IntegerField('Time')
    f1 = models.IntegerField('f1')
    f2 = models.IntegerField('f2')
    f3 = models.IntegerField('f3')
    result = models.IntegerField('result')

    def __str__(self):
        return self.name
  • Вопрос задан
  • 491 просмотр
Решения вопроса 1
@mkone112
Начинающий питонист.
Где хранить логику в django - известный холивар. Но я бы наверное оставил ее в модели - метод save видится мне подходящим местом.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы