首页 > 解决方案 > 如何更改 django-autocomplete-light 默认加载的 obj 数量?

问题描述

默认情况下,自动完成中的 ajax 行为会查询列表中的 10 个第一个 obj,通过滚动您会看到接下来的 10 个结果。但是滚动并不顺利,所以我需要在默认情况下实际查看列表中的所有结果。(每个滚动加载 10 个 obj)是否有任何选项可以更改它,或者有什么方法可以操作查询以避免分块结果?

标签: ajaxwidgetdjango-autocomplete-lightdjango-widgetdjango-widget-tweaks

解决方案


paginate_by = XXX

以与文档相同的示例:

class CountryAutocomplete(autocomplete.Select2QuerySetView):
    paginate_by = 20 
    def get_queryset(self):
        # Don't forget to filter out results depending on the visitor !
        if not self.request.user.is_authenticated():
            return Country.objects.none()

        qs = Country.objects.all()

        if self.q:
            qs = qs.filter(name__istartswith=self.q)

        return qs

推荐阅读