Поле выбора модели не сохраняется в базе данных - django -форма - PullRequest
0 голосов
/ 23 марта 2020

Есть модель, которая наследуется от другой модели. У меня нет проблем при сохранении данных от django admin. Но когда я использую поле выбора модели, чтобы сохранить форму. Форма просто переходит в оператор else вместо того, чтобы переходить в раздел if.is_valid.

forms.py

class CourseForm(forms.ModelForm):
    class Meta():
        model = Course
        fields = '__all__'
    departments = forms.ModelChoiceField(queryset=Department.objects.all().order_by('name'),
                                         required=True)

views.py

def addcourse(request):
    if request.method == 'POST':
        form = CourseForm(request.POST)

        if form.is_valid():
            form.save(commit=True)
            messages.success(request, 'The course is added successfully.')
            return redirect('addcourse')
        else:
            messages.error(request, 'Subject ID already exists.')
            return redirect('addcourse')
    else:
        form = CourseForm()

    return render(request,'add_course.html',
                  {'form':form})

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

...