我无法自行解决 django-autocomplete-light 的一些问题。
模型.py
from django.contrib.auth.models import User
class UserProfile(models.Model):
user = models.OneToOneField(User, related_name="user_profile")
...
autocomplete_light_registry.py
class UserProfileAutocomplete(autocomplete_light.AutocompleteModelBase):
model = UserProfile
search_fields = ['username']
attrs = {
'data-autocomplete-minimum-characters': 1,
}
autocomplete_light.register(UserProfileAutocomplete)
我试过了,但它引发了一个错误:FieldError,无法将关键字 u'username' 解析为字段。
我已经尝试过“用户”,但它引发了:TypeError,相关字段得到了无效的查找:icontains
我该怎么办?
非常感谢。
请您参考如下方法:
您需要用户模型的用户名。所以你需要 user__username
class UserProfileAutocomplete(autocomplete_light.AutocompleteModelBase):
model = UserProfile
search_fields = ['user__username'] # <-- user__username instead username
attrs = {
'data-autocomplete-minimum-characters': 1,
}
autocomplete_light.register(UserProfileAutocomplete)
