Django:使用形式在一个模板中的多个模型

我正在构建一个支持票证跟踪应用程序,并希望在一个页面上创建一些模型。票证通过ForeignKey属于客户。注释也通过ForeignKey属于票证。我想选择一个客户(这是一个单独的项目),或者创建一个新的客户,然后创建一个工单,最后创建一个分配给新工单的便笺。

由于我是Django的新手,因此我倾向于反复工作,每次尝试新功能。我玩过ModelForms,但是我想隐藏一些字段并进行一些复杂的验证。似乎我正在寻找的控制级别需要表单集或手动完成所有操作,并带有一个繁琐的手工编码模板页面,而我试图避免这种情况。

我缺少一些可爱的功能吗?有人对使用表单集有很好的参考或示例吗?我花了整个周末为他们准备API文档,但我仍然一无所知。如果我分解并手动编码所有内容,这是设计问题吗?

回答:

使用ModelForms实在不是太难。假设你有A,B和C表单。你打印出每个表单和页面,现在需要处理POST。

if request.POST():

a_valid = formA.is_valid()

b_valid = formB.is_valid()

c_valid = formC.is_valid()

# we do this since 'and' short circuits and we want to check to whole page for form errors

if a_valid and b_valid and c_valid:

a = formA.save()

b = formB.save(commit=False)

c = formC.save(commit=False)

b.foreignkeytoA = a

b.save()

c.foreignkeytoB = b

c.save()

这是用于自定义验证的文档。

以上是 Django:使用形式在一个模板中的多个模型 的全部内容, 来源链接: utcz.com/qa/411172.html

回到顶部