在Django中渲染(并验证)相关的选择表单字段

时间:2012-09-09 11:34:07

标签: django django-forms

我正在尝试找出在django中实现表单的最佳方法,该表单上有两个选择字段,其中一个影响另一个中可用的选项。示例 - 表单字段1是单选按钮(可以只选择一个选项),称为“菜单”,第二个是多选字段,称为“菜单”。如果你从'cuisine'中选择'french',那么你会在菜单列表中找到法式菜肴,但如果你选择'chinese',你会得到不同的选择。

如何在表单验证过程中使用此服务器端。如何“绑定”两个控件,以便只接受与烹饪选项相关的菜肴?

我如何渲染这个 - 我应该为每种类型的菜肴传递一个ModelForm,还是只有一个菜单ModelForm,其中包含所有内容,只是在客户端显示/隐藏内容?

所有菜单选项都存储在数据库中并作为固定装置加载,菜肴硬编码到应用程序中:

CUISINE = ((0,'French'),(1,'Chinese'),(2,'Italian'))

class MenuItem(models.Model):
    description = models.CharField(max_length=200)
    cuisine = models.IntegerField('Cuisine', choices=CUISINE)

1 个答案:

答案 0 :(得分:0)

  1. 要进行渲染,您可以使用django-selectabledjango-autocomplete-light

  2. 对于服务器端验证,django拥有completely documented