[Django] Related Field got invalid lookup: icontains

Edit

[Django] Related Field got invalid lookup: icontains

django admin에 search field를 붙이지 Related Field got invalid lookup: icontains를 내밷는다.

#models.py
from django.db import models

class User(models.Model):
email = models.EmailField()

class Post(models.Model):
user = models.ForeignKey(User)
title = models.CharField(max_length=255, null=True, blank=True)

def __str__(self):
return self.title
#admin.py
from django.contrib import admin
from .models import Post

class PostAdmin(admin.ModelAdmin):
list_display = ('__str__',)
search_fields = ('user',)

post admin 내에서 user를 검색하기 위해 search_fields를 단둔히 user로 넣으면 안된다. 우리는 user의 email로 통해 검색을 할 것이기 때문에 user의 email을 검색하도록 해야한다. 이렇게 변경하자.

#admin.py
from django.contrib import admin
from .models import Post

class PostAdmin(admin.ModelAdmin):
list_display = ('__str__',)
search_fields = ('user__email',)
%23%5BDjango%5D%20Related%20Field%20got%20invalid%20lookup%3A%20icontains%0A@%28Postach.io%29%5Bdjango%7Cerror%7Cadmin%7Cicontains%7Cpublished%5D%0A%0A%3E%20django%20admin%uC5D0%20search%20field%uB97C%20%uBD99%uC774%uC9C0%20Related%20Field%20got%20invalid%20lookup%3A%20icontains%uB97C%20%uB0B4%uBC37%uB294%uB2E4.%0A%0A%60%60%60python%0A%23models.py%0Afrom%20django.db%20import%20models%0A%0Aclass%20User%28models.Model%29%3A%0A%09email%20%3D%20models.EmailField%28%29%0A%0Aclass%20Post%28models.Model%29%3A%0A%09user%20%3D%20models.ForeignKey%28User%29%0A%09title%20%3D%20models.CharField%28max_length%3D255%2C%20null%3DTrue%2C%20blank%3DTrue%29%0A%0A%09def%20__str__%28self%29%3A%0A%09%09return%20self.title%0A%60%60%60%0A%0A%60%60%60python%20%0A%23admin.py%0Afrom%20django.contrib%20import%20admin%0Afrom%20.models%20import%20Post%0A%0Aclass%20PostAdmin%28admin.ModelAdmin%29%3A%0A%09list_display%20%3D%20%28%27__str__%27%2C%29%0A%09search_fields%20%3D%20%28%27user%27%2C%29%0A%60%60%60%0A%0Apost%20admin%20%uB0B4%uC5D0%uC11C%20user%uB97C%20%uAC80%uC0C9%uD558%uAE30%20%uC704%uD574%20%60search_fields%60%uB97C%20%uB2E8%uB454%uD788%20user%uB85C%20%uB123%uC73C%uBA74%20%uC548%uB41C%uB2E4.%20%uC6B0%uB9AC%uB294%20user%uC758%20email%uB85C%20%uD1B5%uD574%20%uAC80%uC0C9%uC744%20%uD560%20%uAC83%uC774%uAE30%20%uB54C%uBB38%uC5D0%20user%uC758%20email%uC744%20%uAC80%uC0C9%uD558%uB3C4%uB85D%20%uD574%uC57C%uD55C%uB2E4.%20%uC774%uB807%uAC8C%20%uBCC0%uACBD%uD558%uC790.%0A%0A%60%60%60python%0A%23admin.py%0Afrom%20django.contrib%20import%20admin%0Afrom%20.models%20import%20Post%0A%0Aclass%20PostAdmin%28admin.ModelAdmin%29%3A%0A%09list_display%20%3D%20%28%27__str__%27%2C%29%0A%09search_fields%20%3D%20%28%27user__email%27%2C%29%0A%60%60%60