I have this error and cant really to identify the error.In dynamic url routing I identify the url predifining the app name(main) then the url.
<a class="btn btn-info" href="{% url 'main:teacher' teacher.fname %}">View</a>
Could this be related with the error of inline form sets? Models:
class Teacher(models.Model):
teacher_id = models.AutoField(primary_key=True,blank=True)
fname = models.CharField(max_length=200)
lname = models.CharField(max_length=200)
tsc_no = models.CharField(max_length=200,blank=True,unique=True)
email = models.CharField(max_length=200,blank=True,unique=True)
password = models.CharField(max_length=200,blank=True)
profile_picture = models.ImageField(verbose_name='profile_picture',upload_to='photos/%Y/%m/%d',blank=True)
national_id = models.CharField(max_length=200,unique=True)
dob = models.DateField(blank=True)
phone_number = PhoneNumberField()
status = models.CharField(max_length=200)
clas_teacher = models.CharField(max_length=200,blank=True)
date_of_join = models.DateField(blank=True)
timetable_color = models.CharField(max_length=200)
class Course(models.Model):
course_id = models.AutoField(primary_key=True)
course_name = models.CharField(max_length=200)
description = models.CharField(max_length=200)
teacher = models.ManyToManyField(Teacher)
class Meta:
ordering = ['course_name']
def __str__(self):
return self.course_name
The view:
def addmoreteacher(request,pk_test):
teacher = Teacher.objects.get(fname=pk_test)
CourseFormSet = inlineformset_factory(Teacher,Course,fields = ('course_name','description'))
formset = CourseFormSet(instance=teacher)
#form = CourseForm(initial = {'teachers_teaching':teacher})
if request.method == 'POST':
#form = TeacherForm(request.POST)
#print(form)
formset = CourseFormSet(request.POST,instance=teacher)
if formset.is_valid():
formset.save()
print("saved")
return redirect('/')
else:
print(formset.errors)
context = {'formset': formset}
return render(request = request,template_name='main/addmoreteacher_form.html',context=context)
Change models.py's Course class's teacher field,
From,
teacher = models.ManyToManyField(Teacher)
To,
models.ForeignKey(Teacher, on_delete=models.CASCADE)