python 2.7.11
django 1.8.4
错误内容:related Field has invalid lookup: icontains
我原来默认认为在处理外键搜索的时候,django会自动将该外键的行数据以str()化之后进行搜索,但其实并不是这样的,如果将外键加入到搜索域中,需要明确写出来。
这个是我从网上查到的解决方案,测试可用,如下:
models.py 文件
# coding:utf8
from django.db import models
class Book(models.Model):
class Category(models.Model):
admin.py 文件(以 category 为例)
# coding: utf8
from django.contrib import admin
from django import forms
from .models import Category
class CategoryAdmin(admin.ModelAdmin):
admin.site.register(Category, CategoryAdmin)
[说明]
在使用 Django admin 系统中的搜索时可能会出现“related Field has invalid lookup: icontains”错误,主要原因是外键查询是需要指定相应的字段的。外键不应该只是一个model,而该是另一个表的明确的一个字段。所以我们需要指定特定的字段 "本表外键字段__外键所在表需查询字段"。