tupoi
@tupoi

Как внести в форму дополнительные данные перед ее сохранением в Django?

Доброго времени суток, есть необходимость внести доп. данные в форму перед ее сохранением, пробую сделать так, но не выходит.
view
@csrf_protect
def createNewPersonal(request):
    form = PersonalForm(request.POST)
    if request.method == 'POST':
        if form.is_valid():
            form.pers_unit = 1
            form.save()
            return HttpResponseRedirect('/personal/')
    return render(request, 'newPersonakForm.html', {'form': form})

form
class PersonalForm(ModelForm):

    class Meta:

        model = Personal
        fields = ['pers_name', 'pers_passport_data', 'pers_post', 'pers_experience', 'pers_salary', 'pers_military_duty', 'pers_family', 'pers_phone_number', 'pers_unit', 'pers_status']


@csrf_protect
def createNewPersonal(request):
    form = PersonalForm(request.POST)
    if request.method == 'POST':
        form.pers_unit = 1
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/personal/')
    return render(request, 'newPersonakForm.html', {'form': form})

так тоже не выходит, можно ли как-то это реализовать стандартными методами?
  • Вопрос задан
  • 849 просмотров
Решения вопроса 1
@iegor
Обычно делают так:
personal = form.save(commit=False)
personal.pers_unit = 1
personal.save()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы