问题描述
我是这个领域的新手。我正在研究相关下拉列表,我参考了 here。使用以下代码复制相同内容:
Forms.py
class AddressForm(forms.ModelForm):
class Meta:
model=City
country = forms.ModelChoiceField(
queryset=Country.objects.all(),label=u"Country",widget= ModelSelect2Widget(
search_fields=['name__icontains'],dependent_fields={'city': 'cities'},)
)
city = forms.ModelChoiceField(
queryset=City.objects.all(),label=u"City",widget=ModelSelect2Widget(
search_fields=['name__icontains'],dependent_fields={'country': 'country'},max_results=500,)
)
出现错误
未定义变量:'ModelSelect2Widget'
我也安装了:
INSTALLED_APPS=[
'django_select2','django_q',]
解决方法
问题在于您的导入。在 Select2 中,ModelSelect2Widget 类位于表单模块中。 所以你的导入应该如下:
from django_select2.forms import ModelSelect2Widget
class AddressForm(forms.ModelForm):
class Meta:
model=City
country = forms.ModelChoiceField(
queryset=Country.objects.all(),label=u"Country",widget= ModelSelect2Widget(
search_fields=['name__icontains'],dependent_fields={'city': 'cities'},)
)
city = forms.ModelChoiceField(
queryset=City.objects.all(),label=u"City",widget=ModelSelect2Widget(
search_fields=['name__icontains'],dependent_fields={'country': 'country'},max_results=500,)
)