问题:

  当我在给某一张表加上外键搜索的时候,会出现 TypeError: Related Field got invalid lookup: icontains

问题原因:

  a 表关联 b表,也就是说a表有外键关联b表,我们只需要在 b表中admin注册时候在admin类中添加外键搜索功能,那么在创建a表数据的时候,可以通过搜索拿到结果,那么这个错误来源不是这个字段 relfield_style 的错误,而是xadmin本身那个搜索框 search_fields的错误,因为b表中又有外键关联c表,b表admin中把外键添加到 search_fields 搜索字段中,从而产生搜索错误,search_fields 是声明搜索框搜索哪些字段

那,如何解决?

  只需要在每个表的admin中把过滤字段中把这个外键字段取消搜索注册,也就是说,外键字段不应该添加到 search_fields 搜索功能中, 而 relfield_style 字段应该写在 被关联的表的admin中

# 错误的课程机构表admin, search_fields 中city字段在表中又关联 citydict表,city是CourseOrg表的外键,不应该出现在search_fields字段中
class CourseOrgAdmin(object):
list_display = [‘name‘, ‘desc‘, ‘category‘, ‘click_nums‘, ‘fav_nums‘, ‘image‘, ‘address‘, ‘city‘, ‘add_time‘]
search_fields = [‘name‘, ‘desc‘, ‘category‘, ‘click_nums‘, ‘fav_nums‘, ‘image‘, ‘address‘, ‘city‘]
list_filter = [‘name‘, ‘desc‘, ‘category‘, ‘click_nums‘, ‘fav_nums‘, ‘image‘, ‘address‘, ‘city‘, ‘add_time‘] # 让其他关联此表的外键搜索功能,
relfield_style = ‘fk-ajax‘ # 正确的,主要区别是把 search_fields 中外键字段去掉 Course 关联 CourseOrg, relfield_style写在CourseOrg表中,字段来自哪些写在哪
class CourseOrgAdmin(object):
list_display = [‘name‘, ‘desc‘, ‘category‘, ‘click_nums‘, ‘fav_nums‘, ‘image‘, ‘address‘, ‘city‘, ‘add_time‘]
search_fields = [‘name‘, ‘desc‘, ‘category‘, ‘click_nums‘, ‘fav_nums‘, ‘image‘, ‘address‘]
list_filter = [‘name‘, ‘desc‘, ‘category‘, ‘click_nums‘, ‘fav_nums‘, ‘image‘, ‘address‘, ‘city‘, ‘add_time‘] # 让其他关联此表的外键搜索功能
relfield_style = ‘fk-ajax‘ # 假如课程表关联课程机构,一对多, course_org 是关联到CourseOrgA的字段
# 过滤器 list_filter 和 显示列 list_display 可以添加,搜索框 search_fields 不能加入任何外键字段
class CourseAdmin(object):
list_display = [‘course_org‘, ‘name‘, ‘desc‘, ‘detail‘, ‘learn_times‘, ‘degree‘, ‘students‘, ‘fav_nums‘, ‘image‘, ‘click_nums‘, ‘add_time‘]
search_fields = [‘name‘, ‘desc‘, ‘detail‘, ‘degree‘, ‘students‘, ‘fav_nums‘, ‘image‘, ‘click_nums‘]
list_filter = [‘course_org‘, ‘name‘, ‘desc‘, ‘detail‘, ‘learn_times‘, ‘degree‘, ‘students‘, ‘fav_nums‘, ‘image‘, ‘click_nums‘, ‘add_time‘]

Django_xadmin_TypeError: Related Field got invalid lookup: icontains的更多相关文章

  1. related Field has invalid lookup: icontains 解决方法

    models.py 文件 # coding:utf8 from django.db import models class Book(models.Model):         name = mod ...

  2. 使用xadmin搜索search_fields报错:Related Field got invalid lookup: icontains

    一.问题描述 使用xadmin实现Django后台功能时,使用search_fields = [字段名,字段名],在搜索的时候报错Related Field got invalid lookup: i ...

  3. Django中search fields报错:related Field has invalid lookup: icontains

    models.py 文件 # coding:utf8from django.db import models class Book(models.Model):        name = model ...

  4. Django admin模块使用search时报错:django.core.exceptions.FieldError: Related Field got invalid lookup: contains

    日志如下: <class 'django.core.handlers.wsgi.WSGIRequest'> ------------registered_admins: {'spaceCl ...

  5. String field contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes.

    [libprotobuf ERROR google/protobuf/wire_format.cc:1053] String field contains invalid UTF-8 data whe ...

  6. Django_xadmin_应用外键搜索功能错误

    问题: 当我在给某一张表加上外键搜索的时候,会出现 TypeError: Related Field got invalid lookup: icontains 问题原因: a 表关联 b表,也就是说 ...

  7. django admin 或xadmin 错误 总结

    django管理界面admin搜索报错:TypeError: Related Field got invalid lookup: icontains 报错 TypeError: Related Fie ...

  8. Django笔记:常见故障排除

    Django框架下MySQLdb模块在python3中无法使用的问题的解决方案 由于python3环境下目前还没有官方的mysqldb模块,Django框架中又强制要求使用mysqldb,为了解决这个 ...

  9. Django Model field reference

    ===================== Model field reference ===================== .. module:: django.db.models.field ...

随机推荐

  1. Path Manipulation 路径操作

  2. PHP实现微信扫码自动登陆与注册,参考实例

    微信开发已经是现在phper必须要掌握的一项基本的技术了,其实做过微信开发的都知道微信接口非常的强大做起来也非常的简单,这里我们一起来看一个微信自动登陆注册的例子. php 微信扫码 pc端自动登陆注 ...

  3. SpringCloud之Feign 负载均衡请求超时时间

    版本声明: SpringCloud:Greenwich.SR4 SpringBoot:2.1.9.RELEASE Feign调用服务的默认时长是1秒钟,也就是如果超过1秒没连接上或者超过1秒没响应,那 ...

  4. CEF编译 执行gn args out\Release_GN_x86异常

    gn args out\Debug_GN_x86 用来配置编译参数,执行gn args out\Release_GN_x86时异常: Toolchain is out of date. Run &qu ...

  5. .NET面试题解析(9)-SQL语言基础及数据库基本原理

    见面试题 1. 索引的作用?她的优点缺点是什么? 2. 介绍存储过程基本概念和 她的优缺点? 3. 使用索引有哪些需要注意的地方? 4. 索引碎片是如何产生的?有什么危害?又该如何处理? 5. 锁的目 ...

  6. 小程序实现日期时间控件picker

    小程序自带的组件中有日期跟时间的picker,但就缺个日期时间picker组件,那没办法,只能自己弄一个,这个组件不是很难,比较难的地方是要根据不同年份(是否闰年)跟月份决定一个月里有多少天. 我直接 ...

  7. PHP 字符串大全

    PHP字符串函数是核心的一部分.无需安装即可使用这些函数 函数名称 描述 addcslashes 以 C 语言风格使用反斜线转义字符串中的字符 addslashes 使用反斜线引用字符串 bin2he ...

  8. js-函数的三种创建方式

    1.声明式 function fn() { //do something } 2.函数表达式 let fn = function () { //do something } 3.构造函数 functi ...

  9. vim简单操作命令

    vim简单操作命令: 开启编辑:按“i”或者“Insert”键 退出编辑:“Esc”键 退出vim:“:q” 保存vim:“:w” 保存退出vim:“:wq” 不保存退出vim:“:q!” 查看当前系 ...

  10. Linux各目录的意义

    目录层次表准FHS FHS(Filesystem Hierarchy standard) FHS定义两层规范:1.“/”目录下的各个目录应该放什么文件数据 2.针对/usr /var两个目录的子目录来 ...