2

選択ウィジェットを使用する Django の選択フィールドは、無制限の数の<option>要素をレンダリングします。もちろん、これには非常に長い時間がかかり、何百もの選択肢がある場合、大量のメモリが浪費されます。外部キーに関しては、 に似たものを使用できますが、ハードコーディングされた値の場合 (たとえば、世界のすべてのcontrib.adminサブディビジョンから選択する)、どうすればよいかわかりません。 、A) AJAXを使用してリストを提供する(パイプアウトする値がまだたくさんあります)またはB)ウィジェットにcharフィールドを使用して、フォームが不正な入力を検証できるようにします。raw_id_fieldspycountry

前述のAまたはBオプションを含まないベスト プラクティス、またはオプションAを含む easy|clean|pluggable なベスト プラクティスはありますか?

4

1 に答える 1

1

私はかつて同じ問題を抱えていましたが、私の意見では、これに対処する最善の方法はオートコンプリートフィールドを使用することです。これはテキストフィールドに似ていますが、ユーザーはそのテキスト入力を書き込むときにオプションを取得します。

値が正しいかどうかを検証する必要がないため、これは単純なテキストフィールドよりもはるかに優れています。有効な値のみを選択できます。

オートコンプリートを行うためにいくつかのアプリを試しましたが、私のニーズに最も合うのは次のとおりです。

https://github.com/yourlabs/django-autocomplete-light

それが役に立てば幸い!

于 2013-03-21T04:59:38.853 に答える