我在注册网页中使用 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()
非常感谢你的回答