[Django1.4]admin模块使用出现Related Field has invalid lookup: icontains的错误

首先看下log
TypeError at /admin/order/order/

Related Field has invalid lookup: icontains

Request Method: 	GET
Request URL: 	http://localhost:8888/admin/order/order/?q=11
Django Version: 	1.4.5
Exception Type: 	TypeError
Exception Value: 	

Related Field has invalid lookup: icontains

Exception Location: 	/home/lzz/Virtualenv/blog1_django_1.4/env/local/lib/python2.7/site-packages/django/db/models/fields/related.py in get_prep_lookup, line 142
Python Executable: 	/home/lzz/Virtualenv/blog1_django_1.4/env/bin/python
Python Version: 	2.7.3
Python Path: 	

['/home/lzz/Virtualenv/blog1_django_1.4/eshop',
 '/home/lzz/Virtualenv/blog1_django_1.4/env/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg',
 '/home/lzz/Virtualenv/blog1_django_1.4/env/local/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg',
 '/home/lzz/Virtualenv/blog1_django_1.4/env/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg',
 '/home/lzz/Virtualenv/blog1_django_1.4/env/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg',
 '/home/lzz/Virtualenv/blog1_django_1.4/env/lib/python2.7',
 '/home/lzz/Virtualenv/blog1_django_1.4/env/lib/python2.7/plat-linux2',
 '/home/lzz/Virtualenv/blog1_django_1.4/env/lib/python2.7/lib-tk',
 '/home/lzz/Virtualenv/blog1_django_1.4/env/lib/python2.7/lib-old',
 '/home/lzz/Virtualenv/blog1_django_1.4/env/lib/python2.7/lib-dynload',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-linux2',
 '/usr/lib/python2.7/lib-tk',
 '/home/lzz/Virtualenv/blog1_django_1.4/env/local/lib/python2.7/site-packages',
 '/home/lzz/Virtualenv/blog1_django_1.4/env/lib/python2.7/site-packages']

Server time: 	星期三, 15 五月 2013 08:10:00 +0800

这是在两个实体table中,外键引用以后,admin模块添加search框出现的问题,来看看情况 


models.py中

class Product(models.Model):
	name = models.CharField('product name', max_length=30)
Order(models.Model):
	product = models.ForeignKey("Product") #外键引用产品类

admin.py中

class OrderAdmin(admin.ModelAdmin):
	search_fields = ('product',)  #问题就是出在这里

在admin中我们


就出现上面的错误了!


解决办法

admin.py的代码修改一下

class OrderAdmin(admin.ModelAdmin):
	search_fields = ('product__name',)  #问题就是出在这里
作为外键django默认是把id和order类关联,这里不能直接写product , 而是product的一个具体字段,product是个对象,没法直接查询。

注! 这里是两个下划线 product__name

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值