我正在使用django 2.2、python 3.6.8和mysql服务器上的Ubuntu18.04。 我有课程表,学生表和课程表。 课程与学生之间存在着多对多的关系。 课程模式:
student = models.ManyToManyField(Student, blank=True, verbose_name=_("Öğrenci"))
我在模板中手动创建了一个表单,并手动插入数据。 视图.py:
studentnamesuuidlist = request.POST.getlist('ogrenci_isimleri') #list
student1 = Student.objects.filter(uuid=studentnamesuuidlist[0])
coursesobject.student.set(student1)
student2 = Student.objects.filter(uuid=studentnamesuuidlist[1])
coursesobject.student.set(student2)
这门课有两个学生。学生uuid来自模板表单post。 当我运行以上行时,在courses\u student joint表中创建student2记录。 但是student1不是被创建的。它应该同时创建两个记录,但在联合表中只创建一个记录
您应该使用
.add
而不是.set
参见this。.set
重写和.add
追加解决了
相关问题 更多 >
编程相关推荐