gpt4 book ai didi

django admin search_fields 与排除

转载 作者:行者123 更新时间:2023-12-03 07:04:59 25 4
gpt4 key购买 nike

通过 django-admin 站点中的 django search_fields,我们可以在数据库中搜索大量内容。我想在文本框中的 search_fields 中有一个排除选项(或任何其他方式)

示例:在我的管理文件中:

 search_fields = ('name', 'os', 'owner__first_name', 'owner__last_name',)

在网页中我正在寻找“John”--> 得到一些结果,包括约翰·列侬

我很想拥有“约翰{”排除“:“列侬”}”

--> 这将给出一些不包括约翰·列侬的结果

最佳答案

您可以通过在 ModelAdmin 子类中定义 get_search_results 方法来自定义搜索。不过还没有测试过..

class YourModelAdmin(admin.ModelAdmin):
list_display = ('name', 'os')
search_fields = ('name', 'os', 'owner__first_name', 'owner__last_name',)

def get_search_results(self, request, queryset, search_term):
queryset = super(YourModelAdmin, self).get_search_results(request, queryset, search_term)
try:
queryset |= self.model.objects.exclude(owner__last_name__iexact='lennon')
except:
pass
return queryset

关于django admin search_fields 与排除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31379430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com