我已经安装了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']
我一定错过了什么?
答案 0 :(得分:2)
这只是一个简单的错字,你写了
search_fields = ['^title',],
使search_fields
成为列表元组。删除逗号应该有效。
search_fields = ['^title',]
答案 1 :(得分:1)
似乎是一个有趣的错误。如果使用元组而不是列表,即
search_fields = ('^title',)
而不是
search_fields = ['^title',]
一切都应该有效。