Django autocomplete-light错误“'list'对象没有属性'startswith'”

时间:2014-07-28 15:43:40

标签: django django-autocomplete-light

我已经安装了django-autocomplete-light,我正试图让它发挥作用。 我在(非管理员)表单上有它,但当我尝试实际更改值时,我得到500错误,如上所述。

AttributeError at /autocomplete/SeriesAutocomplete/ 'list' object has no attribute 'startswith'

以下是一些相关文件:

autocomplete_light_registry.py

import autocomplete_light
from models import Series


class SeriesAutocomplete(autocomplete_light.AutocompleteModelBase):
    search_fields = ['^title',],
    attrs = {'placeholder': 'Series name ?',}

autocomplete_light.register(Series, SeriesAutocomplete)

forms.py

class PublicationForm(ModelForm):
    series = autocomplete_light.ModelChoiceField('SeriesAutocomplete')

    class Meta:
        model = Publication
        fields = ['title', 'series', 'dsn', 'primary_contact', 'department']

我一定错过了什么?

2 个答案:

答案 0 :(得分:2)

这只是一个简单的错字,你写了

search_fields = ['^title',],

使search_fields成为列表元组。删除逗号应该有效。

search_fields = ['^title',]

答案 1 :(得分:1)

似乎是一个有趣的错误。如果使用元组而不是列表,即

search_fields = ('^title',)

而不是

search_fields = ['^title',]
一切都应该有效。