ModelAdmin 对象

ModelAdmin 类是模型在 Admin 界面中的表示形式,封装了模型的 Admin 功能和选项。通常,会将它们放在你的应用中的名为 admin.py 的文件里。

作为测试用例,我们先定义一个 Model:

from django.db import models

STATUS_CHOICES = (
    ('d', 'Draft'),
    ('p', 'Published'),
    ('w', 'Withdrawn'),
)

class Article(models.Model):
    title = models.CharField(max_length=100)
    body = models.TextField()
    status = models.CharField(max_length=1, choices=STATUS_CHOICES)

    def __str__(self):
        return self.title

下面是一个 ModelAdmin 类的简单例子:

from django.contrib import admin
from myApp.models import Article

class ArticleAdmin(admin.ModelAdmin):
    pass

admin.site.register(Article, ArticleAdmin)

现在在后台管理就能看到对 Article 类的管理界面了:

ModelAdmin 对象_第1张图片
Article 管理界面
ModelAdmin 对象_第2张图片
Article 管理界面

其实,如果我们不需要自定义管理界面的内容和功能的时候,是不需要使用 ModelAdmin 的,只要这样做即可:

from django.contrib import admin
from myApp.models import Article

admin.site.register(Article)

我们也可以通过装饰器,来使 Model 出现在管理界面:

from django.contrib import admin
from myApp.models import Article

@admin.register(Article)
class ArticleAdmin(admin.ModelAdmin):
    pass

通过注册器,我们可以使用一个通用 ModelAdmin 模板,来管理多个 Model:

from django.contrib import admin
from myApp.models import Article, Author

@admin.register(Article, Author)
class ArticleAdmin(admin.ModelAdmin):
    pass

你可能感兴趣的:(ModelAdmin 对象)