[Django] Related Field got invalid lookup: icontains
[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',)