Django_xadmin_TypeError: Related Field got invalid lookup: icontains
问题:
当我在给某一张表加上外键搜索的时候,会出现 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的更多相关文章
- related Field has invalid lookup: icontains 解决方法
models.py 文件 # coding:utf8 from django.db import models class Book(models.Model): name = mod ...
- 使用xadmin搜索search_fields报错:Related Field got invalid lookup: icontains
一.问题描述 使用xadmin实现Django后台功能时,使用search_fields = [字段名,字段名],在搜索的时候报错Related Field got invalid lookup: i ...
- Django中search fields报错:related Field has invalid lookup: icontains
models.py 文件 # coding:utf8from django.db import models class Book(models.Model): name = model ...
- Django admin模块使用search时报错:django.core.exceptions.FieldError: Related Field got invalid lookup: contains
日志如下: <class 'django.core.handlers.wsgi.WSGIRequest'> ------------registered_admins: {'spaceCl ...
- 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 ...
- Django_xadmin_应用外键搜索功能错误
问题: 当我在给某一张表加上外键搜索的时候,会出现 TypeError: Related Field got invalid lookup: icontains 问题原因: a 表关联 b表,也就是说 ...
- django admin 或xadmin 错误 总结
django管理界面admin搜索报错:TypeError: Related Field got invalid lookup: icontains 报错 TypeError: Related Fie ...
- Django笔记:常见故障排除
Django框架下MySQLdb模块在python3中无法使用的问题的解决方案 由于python3环境下目前还没有官方的mysqldb模块,Django框架中又强制要求使用mysqldb,为了解决这个 ...
- Django Model field reference
===================== Model field reference ===================== .. module:: django.db.models.field ...
随机推荐
- 初级模拟电路:4-3 BJT晶体管的交流建模
回到目录 1. 四种BJT模型概述 对BJT晶体管建模的基本思路就是,用电路原理中的五大基本元件(电阻.电容.电感.电源.受控源)构建一个电路,使其在一定工作条件下能等效非线性半导体器件的实际工作.一 ...
- ASP.NET Core身份验证
asp.net core 身份验证 本文旨在演示如果使用内置的 identity 实现 asp.net core 的身份验证,不会进行其它扩展.本文将通过最简单的代码演示如何进行登录和身份验证操作. ...
- Vue之判断对象是否为空的方法
1. JSON.stringify(xxx)=='{}' 2. Object.keys(xxx).length==0 验证结果如下:
- torch 中各种图像格式转换
PIL:使用python自带图像处理库读取出来的图片格式 numpy:使用python-opencv库读取出来的图片格式 tensor:pytorch中训练时所采取的向量格式(当然也可以说图片) PI ...
- docker-compose 部署 Vue+SpringBoot 前后端分离项目
一.前言 本文将通过docker-compose来部署前端Vue项目到Nginx中,和运行后端SpringBoot项目 服务器基本环境: CentOS7.3 Dokcer MySQL 二.docker ...
- 获取主线程Thread.currentThread()
package seday08.thread; /** * @author xingsir * 主线程 * 线程提供了一个静态方法这个方法会将运行这个方法的线程返回:static Thread cur ...
- CSS基础属性介绍
css属性分类介绍 css属性分类介绍 CSS分类目录 文本/字体/颜色 文本相关 字体相关 颜色相关 背景相关 大小/布局 大小属性 margin 外边距 padding 内边距 border 边框 ...
- Tesseract.js 一个几乎能识别出图片中所有语言的JS库
Tesseract.js 一个几乎能识别出图片中所有语言的JS库. 官网:http://tesseract.projectnaptha.com/ git:https://github.com/napt ...
- [转]smtplib.SMTPDataError: (554, b'DT:SPM的异常
本文转自:https://blog.csdn.net/mapeifan/article/details/82428493 python 发送邮件,出现如下异常 异常如下: smtplib.SMTPDa ...
- iOS开发WKWebView 返回H5上级页面
#pragma mark ---- 点击事件 -(void)leftTapClick:(UITapGestureRecognizer *)sender{ //判断是否能返回到H5上级页面 if (se ...