TabularInline 管理フォームのフィールドの html 命名をオーバーライドして、ダッシュが含まれないようにすることは可能ですか?
ここで得た知識を応用して、オートコンプリート機能を持つ TabularInline 管理フォームを作成しようとしています。
Django が tabularinline クエリセットのフィールドに次の行のような名前を付けることを主張することを除いて、すべて機能します。
[model]_set-[index]-[field]
したがって、モデルが TravelLogClient で、外部キー フィールドが会社の場合、tabularinline クエリセットの 3 つのエントリの HTML フォームのフィールドは次のようになります。
travellogclient_set-0-company
travellogclient_set-1-company
travellogclient_set-2-company
問題は、javascript がダッシュを含む識別子を嫌うことです。そのため、JavaScript が失敗し、オートコンプリートが機能しません。
これは、TABULAR インライン フォームだけの問題です。表形式ではない管理フォーム フィールドでJannis のオートコンプリートの例を使用すると、フィールド名..._set-[index]-...
に HTML と JavaScriptの " " 部分がないため、問題なく動作します。
contrib.forms.forms.py
とのアンダースコアのダッシュを変更するパッチを django のソース コードに送信するのではなく、contrib.forms.formsets.py
何らかの方法で動作をオーバーライドできる可能性があることに気付きました。
それに失敗した場合、代わりに html_name のダッシュをアンダースコアにする最も簡単な方法は何ですか?
前もって感謝します!