我正在尝试找出在 django 中实现表单的最佳方法,该表单上有两个选择字段,其中一个会影响另一个中可用的选择。一个例子——表单域第一个是一个单选按钮(只能选择一个选项),叫做“cuisine”,第二个是一个多选域,叫做“menu”。如果您从“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)