2

我已经安装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']

我肯定错过了什么??

4

2 回答 2

2

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

search_fields = ['^title',],

这构成了search_fields一个列表元组。删除逗号应该可以。

search_fields = ['^title',]
于 2014-07-31T15:08:24.940 回答
1

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

search_fields = ('^title',)

代替

search_fields = ['^title',]

一切都应该工作。

于 2014-07-31T14:58:37.307 回答