0

モデルフォームの ModelMultipleChoiceFields の 1 つに django_autocomplete_light を実装しようとしています。チュートリアルとドキュメントに正確に従っていますが、フィールドに最初の数文字を入力すると、ドロップダウンが表示されません。

models.py:

class GameForm(forms.Form):
    Players = forms.ModelMultipleChoiceField(queryset=User.objects.all(),widget=autocomplete_light.MultipleChoiceWidget('UserAutocomplete'))

autocomplete_light_registry.py:

class UserAutocomplete(autocomplete_light.AutocompleteModelBase):
    search_fields=['username' ]
    model = User
    choices = User.objects.all()

autocomplete_light.register(UserAutocomplete,
    search_fields=['username'],
    attrs={
        'placeholder': 'Who?',
        'data-autocomplete-minimum-characters': 1,
    },
    widget_attrs={
        'data-widget-maximum-values': 4,
        'class': 'modern-style',
    },
)

localhost/autocomplete/UserAutocomplete/ にアクセスすると、すべてのユーザーがスペースなしで 1 行で返されます。

user1user2user3

インストール手順に記載されている手順を既に実行しました。

  • django-autocomplete-light>=2.0.0pre パッケージを pip でインストールします
  • django.contrib.admin の前に「autocomplete_light」を settings.INSTALLED_APPS に追加します
  • autocomplete_light.url を含める
  • jquery.js のロード後に autocomplete_light/static.html をインクルード (>=1.7)
4

1 に答える 1