ValueError: Cannot assign "<Classname: V>": "Teachername.classname" must be a "Sectionname" instance

ValueError: Cannot assign "<Classname: V>": "Teachername.classname" must be a "Sectionname" instance

我的models.py:

class Classname(models.Model):  

    class_name = models.CharField(max_length=8) 

    def __str__(self):  
        return self.class_name  

class Sectionname(models.Model):  

    class_name = models.ForeignKey(Classname)  
    section_name = models.CharField(max_length=1, default='A')  
    def __str__(self):  
        return self.section_name  

class Teachername(models.Model):  
    classname = models.ForeignKey(Sectionname)
    secname = models.ForeignKey(Classname)  
    teachname = models.CharField(max_length=50)  
    def __str__(self):  
        return self.teachname  

我的views.py:

def add_teach(request):  
    if request.method == 'POST':  
        form = TeachernameForm(request.POST)  
         if form.is_valid():  
            form.save()  
            return HttpResponseRedirect(reverse('student:listteach'))  
        else:  
            print(form.errors)  
    else:  
        form = TeachernameForm()  
    return render(request, 'add_teach.html', {'form': form},)  

我的form.py:

class TeachernameForm(ModelForm):  
    classname = forms.ModelChoiceField(queryset=Classname.objects.all())  
    secname = forms.ModelChoiceField(queryset=Sectionname.objects.all())  
    class Meta:  
        model = Teachername  
        fields = ('classname', 'secname', 'teachname',)  

当我提交 TeacherForm 时。我收到上述错误。我尝试了很多技巧,但没有得到解决方案。请有人建议我修复。

class Teachername(models.Model):  
    classname = models.ForeignKey(Sectionname)
    secname = models.ForeignKey(Classname) 

这应该是:

    classname = models.ForeignKey(Classname)
    secname = models.ForeignKey(Sectionname)