0

我是这个领域的新手。我正在研究从这里参考的 Dependent Dropdowns 。在使用以下代码复制相同内容时:

表格.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',
  ]
4

1 回答 1

0

问题出在您的导入中。在 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,
       )
   )
于 2021-01-28T17:27:39.030 回答