我可以覆盖管理界面中tabularinline字段的html_name吗?

时间:2009-03-12 19:54:32

标签: python django django-admin django-forms

是否可以覆盖TabularInline管理表单中字段的html命名,以便它们不包含短划线?

我正在尝试应用获得的知识here来创建具有自动完成功能的TabularInline管理表单。

除了Django坚持将tabularinline查询集中的字段命名为以下行中的内容之外,一切正常:

[model]_set-[index]-[field]

因此,如果我的模型是TravelLogClient并且我的外键字段是公司,那么表格在线查询集中三个条目的HTML表单中的字段将是:

travellogclient_set-0-company
travellogclient_set-1-company
travellogclient_set-2-company

问题是javascript不喜欢带有破折​​号的标识符。所以javascript失败了,自动完成功能不起作用。

这只是一个带有表格内联形式的问题!如果我在非表格管理员表单字段上使用Jannis' autocomplete example,它的工作正常,因为字段名称在HTML和javascript中没有“..._set-[index]-...”部分。

不是向django的源代码提交修补程序,而是更改contrib.forms.forms.pycontrib.forms.formsets.py下划线的破折号,而是我发现可能会以某种方式覆盖行为。

如果不这样做,那么在html_name中使这些短划线变成下划线的最简单方法是什么呢?

提前致谢!

1 个答案:

答案 0 :(得分:0)

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

抱歉精神失误......

谢谢!