📜  将搜索字段添加到 django admin - Python (1)

📅  最后修改于: 2023-12-03 14:53:51.103000             🧑  作者: Mango

将搜索字段添加到 Django Admin - Python

Django Admin是一个功能强大的管理界面,可以让开发者轻松管理数据库和数据模型,不过默认情况下,Django Admin的搜索功能只限于模型的主键和文本字段。如果你想在Django Admin搜索更多字段,我们需要手动添加这些字段。

在这篇教程中,我们将介绍如何将搜索字段添加到Django Admin,以便在管理界面中搜索更多字段,以方便数据管理。

准备

首先,我们需要一个新的Django项目并创建一个应用程序。您可以使用以下命令创建一个新的Django项目:

$ django-admin startproject myproject

创建新应用程序:

$ python manage.py startapp myapp

在我们的应用程序中,我们将创建一个名为Person的模型,并为姓名和电子邮件字段添加搜索。

# myapp/models.py
from django.db import models

class Person(models.Model):
    name = models.CharField(max_length=255)
    email = models.EmailField()

    def __str__(self):
        return self.name

接下来,我们需要在应用程序的admin.py文件中注册我们的模型。

# myapp/admin.py
from django.contrib import admin
from .models import Person

@admin.register(Person)
class PersonAdmin(admin.ModelAdmin):
    pass

现在,我们已经准备好将搜索字段添加到Django Admin。

将搜索字段添加到 Django Admin

要将搜索字段添加到Django Admin,请更新我们的PersonAdmin类,为search_fields属性提供要搜索的字段列表。

# myapp/admin.py
from django.contrib import admin
from .models import Person

@admin.register(Person)
class PersonAdmin(admin.ModelAdmin):
    search_fields = ['name', 'email']

这就是我们添加搜索字段的全部内容。现在,我们可以在Django Admin中搜索Person模型的姓名和电子邮件字段了。

结论

在本教程中,我们学习了如何将搜索字段添加到Django Admin,并使之更加快捷。Django Admin可以大大减轻数据库管理的负担,可以通过简单的更新,获得更高的效率。当然,这个例子简单得很,但实际上,您可以添加尽可能多的搜索字段,并使它们具有任何类型的数据。