Django Model Admin: 在后台管理中管理模型

2023-04-06 00:00:00 模型 管理 后台管理

Django Model Admin提供了一种快速创建和定制后台管理界面的方法,使得管理员可以方便地管理模型对象,包括添加、修改和删除操作。

为了使用Django Model Admin,我们需要从django.contrib import admin,并创建一个admin类来定义模型的管理界面。以下是一个示例模型和其管理界面的代码演示:

# models.py
from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    pub_date = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

# admin.py
from django.contrib import admin
from .models import Post

@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
    list_display = ('id', 'title', 'pub_date')
    list_filter = ('pub_date',)
    search_fields = ('title', 'content')
    ordering = ('-pub_date',)

在上面的示例中,我们创建了一个Post模型,并在admin.py文件中定义了一个PostAdmin类来管理它。PostAdmin类通过装饰器@admin.register(Post)来告诉Django,我们要管理的模型是Post。

在PostAdmin类中,我们定义了以下属性:

  • list_display:定义Admin界面中显示的字段
  • list_filter:定义Admin界面中筛选器字段,我们可以按照发布日期来过滤内容的显示
  • search_fields:定义Admin界面中搜索的字段
  • ordering:定义Admin界面中对象的排序方式

上述示例代码的效果是,在Django Admin界面中,我们可以看到Post的每条记录都有一个链接,点击该链接进入Post的编辑页面,可以对该记录进行修改和删除操作。此外,我们也可以在Admin中进行筛选、搜索和排序等操作,以方便地管理Post对象。

例如,我们可以通过以下链接来访问Post管理页面:http://localhost:8000/admin/blog/post/,其中,blog是应用程序的名称,post是Post模型的名称。在该页面中,我们可以看到Post模型的所有记录,并可以通过筛选、搜索和排序等操作来管理它们。

相关文章