首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Django-filters处理大数据?

如何使用Django-filters处理大数据?
EN

Stack Overflow用户
提问于 2019-01-24 17:27:48
回答 1查看 476关注 0票数 0

我在django_filters.ModelChoiceFilter中使用Django-filter。我面临的问题是,如果我在郊区表中有大量数据,网站速度会非常慢。

代码语言:javascript
复制
class PDetailFilter(django_filters.FilterSet):
class Meta:
    model = PDetail
    fields = {
        # 'code': ['icontains'],
        # 'bu_name': ['icontains'],
        # 'bc_effect_date' : ['year__gt', 'year__lt', ],
    }

# Filter by Suburb
suburb = django_filters.ModelChoiceFilter(label="Suburb", queryset=Suburb.objects.all())
EN

回答 1

Stack Overflow用户

发布于 2019-01-30 16:13:28

最终,我找到了答案。我正在使用django-autocomplete-light。你可以在这里查看教程:https://django-autocomplete-light.readthedocs.io/en/master/tutorial.html

以下是View.py文件中的一些源代码:

代码语言:javascript
复制
class SuburbAutocomplete(autocomplete.Select2ListView):
def get_list(self):
    # Don't forget to filter out results depending on the visitor !
    # if not self.request.user.is_authenticated():
    #     return Suburb.objects.none()

    qs = Suburb.objects.all()
    if self.q:
        qs = qs.filter(suburb__istartswith=self.q)
    return qs

在Filters.py中

代码语言:javascript
复制
# Filter by Suburb
suburb = django_filters.ModelChoiceFilter(
label="Suburb",
queryset=Suburb.objects.all(), 
widget=autocomplete.ModelSelect2(
    url='backend:suburb-autocomplete',
    attrs={
            # Set some placeholder
            'data-placeholder': 'Suburb ...',
            # Only trigger autocompletion after 2 characters have been typed
            'data-minimum-input-length': 2,
            'style': 'height:34px !important;'
        },
    )
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54343250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档