Django admin 实现search_fields精确查询实例


Posted in Python onMarch 30, 2020

我就废话不多说了,还是直接看代码吧!

search_fields = (u'gift_rule_id',u'user_id', u'activity_id',)

//默认的查询集合
def get_queryset(self, request):
  return super(GiftConfirmAdmin, self).get_queryset(request).all().order_by("-id")
//根据关键字进行查询集合
def get_search_results(self, request, queryset, search_term):
  queryset, use_distinct = super(GiftConfirmAdmin, self).get_search_results(request, queryset, search_term)
  try:
    search_term_as_int = int(search_term)
    queryset &= (self.model.objects.filter(gift_rule_id=search_term_as_int) |
           self.model.objects.filter(user_id=search_term_as_int) |
           self.model.objects.filter(activity_id=search_term))
  except:
    pass
  return queryset, use_distinct

补充知识:使用xadmin搜索search_fields报错:Related Field got invalid lookup: icontains

一、问题描述

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

二、问题分析

search_fields 控制可以通过搜索框搜索的字段名称,search_fields=()或search_fields=[],xadmin使用的是模糊查询

报错信息翻译出来为:相关字段的查找无效,因为search_fields中的项不是字符类型,例如字段类型是ForeignKey,则会报错

三、解决方法

删除search_fields中类型不符的项,例如删除字段类型为ForeignKey的项

以上这篇Django admin 实现search_fields精确查询实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中常用检测字符串相关函数汇总
Apr 15 Python
理解Python垃圾回收机制
Feb 12 Python
Python SQLite3数据库日期与时间常见函数用法分析
Aug 14 Python
使用Python机器学习降低静态日志噪声
Sep 29 Python
Python3.4 splinter(模拟填写表单)使用方法
Oct 13 Python
Python 获取指定文件夹下的目录和文件的实现
Aug 30 Python
python的命名规则知识点总结
Oct 04 Python
Python 复平面绘图实例
Nov 21 Python
JupyterNotebook 输出窗口的显示效果调整方法
Apr 13 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
Jun 11 Python
keras的三种模型实现与区别说明
Jul 03 Python
利用django创建一个简易的博客网站的示例
Sep 29 Python
Django模型中字段属性choice使用说明
Mar 30 #Python
Django+python服务器部署与环境部署教程详解
Mar 30 #Python
Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解
Mar 30 #Python
django自定义非主键自增字段类型详解(auto increment field)
Mar 30 #Python
Python GUI编程学习笔记之tkinter事件绑定操作详解
Mar 30 #Python
VSCode基础使用与VSCode调试python程序入门的图文教程
Mar 30 #Python
Python实现Wordcloud生成词云图的示例
Mar 30 #Python
You might like
解决laravel 5.1报错:No supported encrypter found的办法
2017/06/07 PHP
setInterval 和 setTimeout会产生内存溢出
2008/02/15 Javascript
JS 显示当前日期与时间的代码
2010/03/24 Javascript
js查找某元素中的所有图片地址的方法
2014/01/16 Javascript
基于javascript实现右下角浮动广告效果
2016/01/08 Javascript
AngularJS 如何在控制台进行错误调试
2016/06/07 Javascript
JavaScript关于提高网站性能的几点建议(一)
2016/07/24 Javascript
轻松实现jquery选项卡切换效果
2016/10/10 Javascript
Vue组件开发初探
2017/02/14 Javascript
JavaScript原生数组Array常用方法
2017/04/06 Javascript
bootstrap常用组件之头部导航实现代码
2017/04/20 Javascript
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
2014/01/22 Python
Python isinstance函数介绍
2015/04/14 Python
python3结合openpyxl库实现excel操作的实例代码
2018/09/11 Python
python使用Matplotlib画条形图
2020/03/25 Python
python的依赖管理的实现
2019/05/14 Python
Django对数据库进行添加与更新的例子
2019/07/12 Python
Django自带的加密算法及加密模块详解
2019/12/03 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
2020/02/25 Python
localStorage的过期时间设置的方法详解
2018/11/26 HTML / CSS
全球速卖通巴西站点:Aliexpress巴西
2016/08/24 全球购物
Android interview questions
2016/12/25 面试题
儿科主治医生个人求职信
2013/09/23 职场文书
闭幕式主持词
2014/04/02 职场文书
初三班主任寄语大全
2014/04/04 职场文书
小学班主任培训方案
2014/06/04 职场文书
企业宣传标语
2014/06/09 职场文书
启动仪式策划方案
2014/06/14 职场文书
放弃遗产继承公证书
2015/01/26 职场文书
外贸采购员岗位职责
2015/04/03 职场文书
会计试用期工作总结2015
2015/05/28 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书
《中彩那天》教学反思
2016/02/24 职场文书
golang生成vcf通讯录格式文件详情
2022/03/25 Golang
python获取字符串中的email
2022/03/31 Python
Java由浅入深通关抽象类与接口(上篇)
2022/04/26 Java/Android