Django中admin如何实现search_fields精确查询-创新互联-成都快上网建站

Django中admin如何实现search_fields精确查询-创新互联

这篇文章主要介绍Django中admin如何实现search_fields精确查询,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

成都创新互联是一家集网站建设,凯里企业网站建设,凯里品牌网站建设,网站定制,凯里网站建设报价,网络营销,网络优化,凯里网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

代码如下:

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精确查询”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联成都网站设计公司行业资讯频道!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享题目:Django中admin如何实现search_fields精确查询-创新互联
文章位置:http://kswjz.com/article/dcphde.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流