Отношения 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)
Другие вопросы по тегам