是否可以覆盖 TabularInline 管理表单中字段的 html 命名,以便它们不包含破折号?
我正在尝试应用此处获得的知识来创建具有自动完成功能的 TabularInline 管理表单。
除了 Django 坚持将 tabularinline 查询集中的字段命名为以下行之外,这一切都有效:
[model]_set-[index]-[field]
因此,如果我的模型是 TravelLogClient 并且我的外键字段是公司,则表格内联查询集中三个条目的 HTML 表单中的字段将是:
travellogclient_set-0-company
travellogclient_set-1-company
travellogclient_set-2-company
问题是 javascript 不喜欢带有破折号的标识符。所以javascript失败并且自动完成不起作用。
这只是表格内联表格的问题!如果我在非表格管理表单字段上使用Jannis 的自动完成示例..._set-[index]-...
,它工作得很好,因为字段名称在 HTML 和 javascript中没有“ ”部分。
我没有向 django 的源代码提交一个补丁,将下划线的破折号更改为contrib.forms.forms.py
and contrib.forms.formsets.py
,而是在我看来,有可能以某种方式覆盖行为。
如果做不到这一点,让 html_name 中的这些破折号变成下划线的最简单方法是什么?
提前致谢!