首页 > 解决方案 > django中的Select2不显示选项

问题描述

我想以表格形式加入选择。我有“国家”模型和“城市”模型。当用户选择一个国家/地区时,仅应列出该国家/地区中列出的城市。

问题是当我尝试这样做时,在表格中我看不到任何选项,所以根本没有列出国家或城市。

这是我的代码:

表格.py:

块引用

    from django import forms
    from django.forms import ModelForm
    from .models import Country, City
    from django_select2.forms import ModelSelect2Widget



     class AddressForm(forms.Form):
         country = forms.ModelChoiceField(
         queryset=Comunidad.objects.all(),
         label=u"Country",
         widget=ModelSelect2Widget(
         dependent_fields={'city': 'city'},
         search_fields=['name__icontains'],
    
          )
         )

    city = forms.ModelChoiceField(
             queryset=City.objects.all(),
             label=u"City",
     widget=ModelSelect2Widget(
    
      search_fields=['name__icontains'],
    
        max_results=500,
     )
    )

''''''

这就是我在 models.py 中的内容:

    class Country (models.Model):
    name= models.CharField(max_length=20, help_text="Añada Comunidad Autónoma")

    def __str__(self):
    return self.name

class City(models.Model):
    name= models.CharField(max_length=20, help_text="Añada provincia")
    country = models. ForeignKey('Country', on_delete=models.SET_NULL, null=True)
    def __str__(self):
        return self.name
'''

并且,在模板中:

'''{{form.as_table}}'''

我得到的是文本:“国家”和“城市”,后跟一个下拉按钮,但它是空的。所以我根本看不到任何国家和城市,但数据库不是空的。

我不知道我错过了什么。欢迎任何帮助。

标签: djangodjango-formsjquery-select2

解决方案


推荐阅读