Отношения OneToOne и django-autocomplete-light
У меня есть некоторые проблемы с django-autocomplete-light, которые я не могу решить самостоятельно.
models.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
Что я должен делать?
Большое спасибо.
1 ответ
Решение
Вам нужны пользовательские модели username
, так что тебе нужно 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)