0

我在注册网页中使用 django select2 进行链式单一模型选择。据我所知,django select2 公开了一个 ajax 端点,它使搜索、分页和选择我的城市所需的一切。有一种方法可以使用 django-select2 自动创建的服务,以便在我的应用程序中使用它?

city = forms.ModelChoiceField(
    queryset=City.objects.all(),
    label=u"City",
    widget=ModelSelect2Widget(
        model=City,
        search_fields=['name__icontains'],
        dependent_fields={'country': 'state__country'},
        max_results=20,
        attrs={'class': 'form-control','width': '100%',},

    )
)

这是我的城市小部件,我有一个自定义小部件来测试我是否可以将其公开给所有人

class TitleSearchFieldMixin(object):
    search_fields = [
        'name__icontains',
        'pk__startswith'
    ]

class CitySelect2TagWidget(TitleSearchFieldMixin, ModelSelect2Widget):
    model = City

    def get_queryset(self):
        return self.model.objects.filter()

    def label_from_instance(self, obj):
        return force_text(obj.name).upper()


class CountrySelect2TagWidget(TitleSearchFieldMixin, ModelSelect2Widget):
    model = Country
    dependent_fields = {'country': 'country'}

    def get_queryset(self):
        return self.model.objects.filter()

    def label_from_instance(self, obj):
        return force_text(obj.name).upper()

非常感谢你的回答

4

0 回答 0