您可能不能,因为这取决于用户与表单的交互:您的服务器无法预先知道用户将表单发送到浏览器之前将选择哪个元素。您可能可以使用ajax实现此目的。我认为一个工作过程可能是:
- 创建具有所有字段的表单,并隐藏
make
字段 - 创建一个视图(我将其称为
AjaxMakeFieldView
),该视图将捕获带有vehicle_type
参数的ajax请求并返回的HTMLmake field
,其中填充了相关数据。在您的URLConf中为此视图添加一个URL。 - 在您的模板中,添加一个Javascript绑定:当用户选择时
vehicle_type
,浏览器将向发送一个ajax请求,AjaxMakeFieldView
并make
用返回的HTML替换隐藏字段
如果您不想要javascript,则另一种方式是两步形式:
- 具有
vehicle_type
字段的第一种形式 - 提交第一个表单后,您的用户将获得带有
make
字段的第二个表单,该字段的初始数据取决于vehicle_type
在第一个表单中选择的字段。
我从未做过,但是Form向导上的Django文档似乎是一个不错的起点。



