简体   繁体   English

一对一关系和 django-autocomplete-light

[英]OneToOne relationship and django-autocomplete-light

I have some problems with the django-autocomplete-light which I cannot resolve on my own.我对 django-autocomplete-light 有一些问题,我自己无法解决。

models.py模型.py

from django.contrib.auth.models import User
class UserProfile(models.Model):    
   user = models.OneToOneField(User, related_name="user_profile")
   ...

autocomplete_light_registry.py autocomplete_light_registry.py

class UserProfileAutocomplete(autocomplete_light.AutocompleteModelBase):
    model = UserProfile
    search_fields = ['username']
    attrs = {
        'data-autocomplete-minimum-characters': 1,
    }

autocomplete_light.register(UserProfileAutocomplete)

I tried this but it raises an error: FieldError, Cannot resolve keyword u'username' into field.我试过了,但它引发了一个错误:FieldError,无法将关键字 u'username' 解析为字段。

I've already tried "user" but it raises: TypeError, Related Field got invalid lookup: icontains我已经尝试过“用户”,但它引发了:TypeError,Related Field got invalid lookup: icontains

What should I do?我该怎么办?

Thanks a lot.非常感谢。

you need User model's username .您需要 User 模型的username so you need user__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)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM