0

是否可以覆盖 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.pyand contrib.forms.formsets.py,而是在我看来,有可能以某种方式覆盖行为。

如果做不到这一点,让 html_name 中的这些破折号变成下划线的最简单方法是什么?

提前致谢!

4

1 回答 1

0

Paolo 和 Guðmundur 是对的。我根据 Guðmundur 的建议修改了我在 javascript 中的用法,现在一切都按预期工作了——不需要 django 干预。

对不起,精神错乱...

谢谢!

于 2009-03-13T14:42:35.333 回答