Django自动完成限制查询结果

时间:2015-12-09 16:22:46

标签: python django django-autocomplete-light

当我注册autocomplete_light.AutocompleteModelBase并在我的表单中使用它时,显示的结果总是限制为20.我在文档中找不到任何选项来增加表单上显示的结果数量。

autocomplete_light_regisrty.py

class IssueAutocomplete(autocomplete_light.AutocompleteModelBase):
    model = Issue
    search_fields = ('^issue_number',)

autocomplete_light.register(
    IssueAutocomplete,
    attrs={
        'placeholder': 'Type an issue number...',
        'data-autocomplete-minimum-characters': 1
    },
)

forms.py

class StoryForm(autocomplete_light.ModelForm):
    class Meta:
        model = Story
        fields = ('slug', 'summary', 'author', 'editor', 'issue',)

但是当我搜索我的表单时,即使我已经超过60,也只会出现最多20个结果。当我转到/ autocomplete / IssueAutocomplete时会复制。一次只能显示20个结果。

如何获得完整的结果列表?

2 个答案:

答案 0 :(得分:5)

您应该使用文档中描述的limit_choices

答案 1 :(得分:4)

默认情况下,AutocompleteModelBase具有名为limit_choices的属性,默认情况下设置为20.您可以使用新值覆盖它以展开它。虽然未记录,但如果您希望限制将-1传递为t he attribute is only to slice the results