Это моя модель:
class addteacher(models.Model):
Teacher_Name=models.CharField(max_length=50)
Teacher_Subjects=models.ForeignKey("subjects",related_name="+", on_delete=models.CASCADE) //here foreign key use
Teacher_Subjects_Code=models.CharField(max_length=50)
Teacher_Username=models.CharField(max_length=50)
Teacher_Password=models.CharField(max_length=50)
class subjects(models.Model):
Subject_Name=models.CharField(max_length=50)
Форма, связанная с моделью:
class addstudent_form(forms.ModelForm):
Student_Registration_no=forms.CharField(widget=forms.TextInput())
Student_Name=forms.CharField(widget=forms.TextInput())
Student_roll_no=forms.CharField(widget=forms.TextInput())
Student_mobile_no=forms.CharField(widget=forms.TextInput())
class Meta():
model = addstudent
fields = ['Student_Registration_no','Student_Name','Student_roll_no','Student_mobile_no']
class addsubject_form(forms.ModelForm):
Subject_Name=forms.CharField(widget=forms.TextInput(),required=True)
class Meta():
model=subjects
fields = ['Subject_Name']
Ниже приведен вид:
def addteacher1(request):
if request.method == 'POST':
Teacher_Name = request.POST['Teacher_Name']
Teacher_Subjects = request.POST['Teacher_Subjects']
Teacher_Subjects_Code = request.POST['Teacher_Subjects_Code']
Teacher_Username = request.POST['Teacher_Username']
Teacher_Password = request.POST['Teacher_Password']
Teacher_Password2 = request.POST['Teacher_Password2']
if Teacher_Password == Teacher_Password2 :
if login_teacher.objects.filter(user_name_teacher = Teacher_Username).exists():
messages.info(request, 'username exists')
return render(request, 'createteacher.html')
else:
add_teacher = addteacher.objects.create(Teacher_Name=Teacher_Name, Teacher_Subjects=Teacher_Subjects, Teacher_Subjects_Code=Teacher_Subjects_Code, Teacher_Username=Teacher_Username, Teacher_Password=Teacher_Password)
add_teacher.save()
return render(request, 'createteacher.html')
else:
return render(request, 'principlehome.html')
Ниже приведена ошибка, которую я являюсь получать, когда я даю информацию, используя HTML:
ValueError at /principle/addteacher
Cannot assign "'c'": "addteacher.Teacher_Subjects" must be a "subjects" instance.
Request Method: POST
Request URL: http://127.0.0.1:8000/principle/addteacher
Django Version: 3.0.2
Exception Type: ValueError
Exception Value:
Cannot assign "'c'": "addteacher.Teacher_Subjects" must be a "subjects" instance.
Я студент. Я изо всех сил пытался сделать это, но я не могу. Мне показалось, что я неправильно использую внешний ключ.
В таблице базы данных хранится "c"
I Я думаю, что если я введу "C" в качестве входных данных для "teacher_subject", он сохранит идентификатор субъекта, который был порван в таблице предметов