カスタムフォームを使用して、このフォームフィールドでカスタムウィジェットを実現できます。このフィールドに選択するためのオブジェクトのカスタマイズクエリセット用のフォーム__init__
をオーバーロードすることができますもで
from django import forms
from django_select2.forms import ModelSelect2Widget
class KeyWidget(ModelSelect2Widget):
model = ModelToKey
search_fields = ['field__icontains']
def label_from_instance(self, obj):
return u'{}'.format(obj.field)
class CustomForm(forms.ModelForm):
class Meta:
model = ModelWithKey
fields = ('foreign_key_field')
widgets = {
'foreign_key_field': KeyWidget(attrs={'style': 'width:550px'}),
}
(私はこのdesicionサードパーティのライブラリdjango_select2のために使用します)。
'django_select2'がDjangoパッケージに含まれていない場合は、インストールするパッケージと要件が正確である必要があります。 –