django-select2公开ajax端点供外部使用

时间:2019-03-06 15:16:39

标签: python django django-select2

im在注册网页中使用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()

非常感谢您的回答

0 个答案:

没有答案