在Django中有条件地显示表单元素

时间:2014-01-16 21:27:19

标签: jquery python django forms

我正在开发一个小型的Django项目和一个表单,我想要捕获登录人员的详细信息。有一个无线电选项,其值为“学生”或“ 行业”。如果选择学生,我希望显示两个输入框,一个用于“毕业年度”,另一个用于“大学名称”。如果选择“行业”,我需要2个文本框,一个用于“公司名称”,另一个用于“职位名称”。

现在,我能够使用jQuery隐藏不需要的文本框并将changelistener附加到radiobuttons。然而是否有django做同样的方式?现在,我的模型有:

名称 - 两种情况都很常见 student_or_industry - ChoiceField 职称 公司名 大学 graduating_year

我的表单是使用简单的ModelForm创建的,这会导致表中的NULL加载。我应该为学生和行业创建一个不同的模型,并将它们与外键相关联吗?如果是的话,这与表格有什么关系呢?我是否创建了多个表单?

先谢谢

1 个答案:

答案 0 :(得分:0)

将其分为两个单独的模型(学生,行业)不会有问题,如果您将来需要为每个单独的模型添加更多字段,它实际上会对您有所帮助。 由于一个人只能属于一所大学或一个行业,因此您的查询也会加上额外的开销。 您的初始方法也没有错,但是您需要考虑将来是否需要向相关模型添加其他信息,例如,如果您需要添加课程或部门,则开始重载初始模型。< / p>