我认为您可以像这样将这些字段添加到ruleform中,并重写
save
保存它们的方法:
class RuleForm(forms.ModelForm):
question = forms.CharField(required=True)
answer = forms.CharField(required=True)
class Meta:
model = Rule
fields=['name', 'question', 'answer']
def save(self, commit=False):
question = self.cleaned_data.pop('question')
answer = self.cleaned_data.pop('answer')
rule = super(RuleForm, self).save(commit=True)
Question.objects.create(rule=rule, name=question)
Answer.objects.create(rule=rule, name=answer)
return rule
现在,您只需在视图中传递规则表单:
def create_rule_view(request,id, sc_id):
rule = RuleForm(request.POST or None)
if rule.is_valid():
rule.save()
return redirect('../')
context = {
'rule': rule,
}
return render(request, "rule/create_rule.html", context)