如何制作自定义搜索功能

时间:2016-03-21 10:05:20

标签: django

如何在django admin中创建自定义搜索功能。我想搜索数据库表的所有字段,并查找和检索匹配项。

有可能吗?

1 个答案:

答案 0 :(得分:2)

让我们举一个带有以下字段的自定义User模型的例子,

<强> APP_NAME / models.py

from django.contrib.auth.models import AbstractBaseUser

class User(AbstractBaseUser):
    first_name = models.CharField(max_length=50)
    middle_name = models.CharField(max_length=50)
    last_name = models.CharField(max_length=50)
    email = models.EmailField(max_length=100)
    username = models.CharField(max_length=100)

现在这个模型的管理员将是,

<强> APP_NAME / admin.py

from django.contrib import admin
from app_name.models import User

class UserAdmin(admin.ModelAdmin):
    search_fields = User._meta.get_all_field_names()

admin.site.register(User, UserAdmin)

User._meta.get_all_field_names()将返回list模型的所有字段中的User