- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在 django 管理中,您可以为 ModelAdmin 设置 search_fields 以便能够搜索那里给定的属性。我的模型类有一个属性不是真正的模型属性,这意味着它不在数据库表中。该属性与未通过关系绑定(bind)到当前模型的另一个数据库表相关。但我希望能够对其进行搜索,所以我必须以某种方式自定义管理站点创建的查询,以便在搜索字段被填充时进行过滤——这可能吗?如果可行,如何实现?我可以查询自定义属性的数据库表,然后返回适合搜索的模型类的 ID。然后,正如我所说,必须流入管理站点搜索查询。
谢谢!
最佳答案
从 django 1.6 开始,您可以通过在 ModelAdmin
子类中定义一个 get_search_results
方法来自定义搜索。
在 django documentation 中有很好的解释.以下示例是从该文档复制而来的。
class PersonAdmin(admin.ModelAdmin):
list_display = ('name', 'age')
search_fields = ('name',)
def get_search_results(self, request, queryset, search_term):
queryset, use_distinct = super(PersonAdmin, self).get_search_results(request, queryset, search_term)
try:
search_term_as_int = int(search_term)
queryset |= self.model.objects.filter(age=search_term_as_int)
except:
pass
return queryset, use_distinct
关于python - Django adminsite 自定义 search_fields 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3059390/
我有一个基本的 django 模型,我想知道是否有一种方法可以使搜索字段在我映射到的值中搜索,而不是在数据库中保存的值中搜索,有没有一种可能的方法可以按值“Premium”搜索? 模型.py clas
在管理员的模型更改列表页面中,我向 search_fields 添加了一个 DateTimeField“birth”。 class DataLog(models.Model): id = mo
通过 django-admin 站点中的 django search_fields,我们可以在数据库中搜索大量内容。我想在文本框中的 search_fields 中有一个排除选项(或任何其他方式) 示
我正在尝试将模型中的属性用作 django admin (1.2) 中的字段。 这是我的代码示例: class Case(models.Model): reference = models.C
我有一个带有 ISBN 字段的模型。ISBN(国际标准书号)可能是 ISBN10(10 位)或 ISBN13(13 位)。我可以使用自定义函数将 10 转换为 13,将 13 转换为 10。重点是我希
我想知道如何使用外键来执行搜索 class Product(models.Model): name = models.CharField(max_length = 127) descr
我尝试使用 python 在 Django 中添加搜索字段。以下是我使用过的代码。 # admin.py file from django.db import models from blog.mod
本文主要介绍了django admin search_fields placeholder 管理后台添加搜索框提示文字,分享给大家,具体如下: 如图, Django admin后台生成的搜索框
在 django 管理中,您可以为 ModelAdmin 设置 search_fields 以便能够搜索那里给定的属性。我的模型类有一个属性不是真正的模型属性,这意味着它不在数据库表中。该属性与未通过
我正在尝试使用以下 Model 和 ModelAdmin 类将搜索添加到我的模型管理列表页面: models.py from django.contrib.auth.models import Use
我有 class ProductSearch(ListAPIView): queryset = Product.objects.all() permission_classes = [
Django search_fields 添加 DUPLICATE left outer join with appliance 表到 Django 查询,因为它有 .annotate(applian
我有一个 Django 程序员的问题应该很简单,但目前我不知道如何解决。 我有这三个模型(我尽量简化): class Nations(models.Model): label = models
我是一名优秀的程序员,十分优秀!