Djangoadmin实现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 &= (del.objects.filter(gift_rule_id=search_term_as_int) |
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
⼆、问题分析
django项目实例search_fields 控制可以通过搜索框搜索的字段名称,search_fields=()或search_fields=[],xadmin使⽤的是模糊查询
报错信息翻译出来为:相关字段的查⽆效,因为search_fields中的项不是字符类型,例如字段类型是ForeignKey,则会报错
三、解决⽅法
删除search_fields中类型不符的项,例如删除字段类型为ForeignKey的项
以上这篇Django admin 实现search_fields精确查询实例就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论