0
我想制作单独提交这2个模型的表单。不知何故,我设法得到他们的意见。但是,我得到错误说:Django窗体为2相关模型
不受约束的方法full_clean()必须与MCQuestions实例作为第一个参数来调用(什么都没有代替)
我的细节是:
models.py
class MCQuestions(models.Model):
question = FroalaField(null=True, blank=True)
qcategory = models.ForeignKey(Categories, related_name="MCCategory", blank=True)
class MCAnswers(models.Model):
questionid = models.ForeignKey(MCQuestions, related_name="mc_answer")
a = models.CharField(max_length=50, null=True, blank=True)
z_a = models.BooleanField(default=False)
b = models.CharField(max_length=50, null=True, blank=True)
z_b = models.BooleanField(default=False)
c = models.CharField(max_length=50, null=True, blank=True)
z_c = models.BooleanField(default=False)
d = models.CharField(max_length=50, null=True, blank=True)
z_d = models.BooleanField(default=False)
views.py
def AddMCQuestions(request, course_id):
if request.method == 'POST':
aform = MCQuestionsForm(request.POST)
bform = MCAnswersForm(request.POST, instance=MCQuestions)
#cat = Categories.objects.filter(cid=course_id)
aform_valid = aform.is_valid()
**bform_valid = bform.is_valid()**
if aform_valid and bform_valid:
a = aform.save(commit=False)
a.qcategory_id = course_id
a.save()
b = bform.save(commit=False)
b.save()
return HttpResponse('question added')
else:
aform = MCQuestionsForm()
bform = MCAnswersForm()
bform.qcategoryid = a
return render(request, 'teacher/mcquestionadd.html', {'aform': aform, 'bform': bform})
和错误是突出bform_valid = bform.is_valid()
'instance = MCQuestions'必须是'MCQ的实例问题 - 不是课堂本身。 – karthikr
其实@karthikr,它应该是MCAnswers的一个实例。 –
嗯,MCAnswers的实例?实例你的意思是这样的: 'instance = MCQuestions.questionid'我得到这个错误 ''ReverseSingleRelatedObjectDescriptor'对象没有属性'_meta'' – Zorig