django admin 中对象的存档部分
Archive section for objects in django admin
我想自定义 Django Admin
为我的 objects
个模型(例如 Post
或 Product
模型)设置特定部分作为存档部分。
现在我需要在我的模型中显示对象状态的一个字段(例如 is_archive
字段),但是 我不知道如何显示它们在 Django Admin
.
有没有人对此有意见?
- 为您需要的模型创建 Proxy model
- 在您的管理面板中为此代理模型创建单独的部分
- 为它覆盖 get_queryset()。
models.py
from django.db import models
class Post(models.Model):
...
is_archive = models.BooleanField(default = False)
...
class PostProxy(Post):
class Meta:
proxy = True
admin.py
from django.contrib import admin
from .models import *
@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
...
@admin.register(PostProxy)
class PostProxyAdmin(admin.ModelAdmin):
...
def get_queryset(self, request):
return super().get_queryset(request).filter(is_archive=True)
我想自定义 Django Admin
为我的 objects
个模型(例如 Post
或 Product
模型)设置特定部分作为存档部分。
现在我需要在我的模型中显示对象状态的一个字段(例如 is_archive
字段),但是 我不知道如何显示它们在 Django Admin
.
有没有人对此有意见?
- 为您需要的模型创建 Proxy model
- 在您的管理面板中为此代理模型创建单独的部分
- 为它覆盖 get_queryset()。
from django.db import models
class Post(models.Model):
...
is_archive = models.BooleanField(default = False)
...
class PostProxy(Post):
class Meta:
proxy = True
admin.py
from django.contrib import admin
from .models import *
@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
...
@admin.register(PostProxy)
class PostProxyAdmin(admin.ModelAdmin):
...
def get_queryset(self, request):
return super().get_queryset(request).filter(is_archive=True)