Django admin:在search_fields中使用一对一的关系

Ryu*_*usa 2 django django-admin django-modeladmin

我正在尝试使用以下Model和ModelAdmin类将搜索添加到我的模型管理列表页面:

models.py

from django.contrib.auth.models import User

class UserProfile(models.Model):
        user = models.OneToOneField(User)
        country = CountryField(blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

admin.py

from django.contrib import admin
from models import UserProfile

class UserProfileAdmin(admin.ModelAdmin):
        list_display = ('user','country')
        search_fields = ['user']
Run Code Online (Sandbox Code Playgroud)

但是在尝试访问管理面板中的UserProfile时出现以下错误:

 at /admin/profiles/userprofile/ Related Field has invalid
 lookup: icontains
Run Code Online (Sandbox Code Playgroud)

我也尝试过以下方法:

search_fields = ['user_username']
Run Code Online (Sandbox Code Playgroud)

和

search_fields = ['user_name']
    def user_name(self,obj):
        return obj.user.username
Run Code Online (Sandbox Code Playgroud)

有解决方案吗

Dar*_*win 7

user__username根据查找API"跟随"表示法尝试使用.