Django Updateview не сохраняет в HTML, но сохраняет в админке - PullRequest
0 голосов
/ 14 апреля 2019

У меня большая форма, некоторые поля, зависит от значения других полей для вычисления.С тех пор я использовал jquery blur для отправки формы каждый раз, когда пользователь заканчивал редактирование поля, и перенаправлял ее в updateview снова с новыми значениями.

У меня есть этот day_absent и количество, отсутствующее, чтобы проверить это.Если я просто помещаю form.day_absent в форму и помещаю object.amt_absent, он не сохраняет форму.Но если я добавлю form.amt_absent, он сохранит форму.

Почему это так?Я не хочу ставить amt_absent как редактируемый, просто это должен быть day_absent.

class PayrollTransactionUpdate(LoginRequiredMixin,UpdateView):
model = t_pay
template_name = 'payroll/transaction/update.html'

fields = [
    'day_absent',
    'amt_absent',
]

      <div id='input-item' class="col-1">
        {{ form.day_absent }}
        {{ form.day_absent.errors}}

      </div>
      <div id='item' class="col-2">
        {{ object.amt_absent }}
      </div>

1 Ответ

1 голос
/ 14 апреля 2019

Пара баллов:

  1. Когда вы используете {{object.amt_absent}}, вы не визуализируете форму для поля amt_absent, а просто значение, сохраненное в БД.

  2. Вы добавили amt_absent в качестве поля для включения в UpdateView, поэтому до тех пор, пока это поле не является обязательным, форма будет продолжать выдавать ошибку для этого поля. Вот почему ваша форма работает, когда вы включаете оба поля. Вы можете проверить все ошибки, используя {{form.errors}}, или указав в поле ошибки, используя {{form.amt_absent.errors}} в своем шаблоне.

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