python - Django admin,只显示需要的模型

标签 python django django-models model admin

我是 django 的新手,我只需要在管理中显示那些状态为“待处理”的模型。

ITEM_STATUSES = (
    ('pending', _('Waiting approval')),
    ('approved', _('Approved')),
    ('declined', _('Declined'))
)

class Item(models.Model):
    title = models.CharField(max_length=64)
    ...
    status = models.CharField(max_length=32, choices=ITEM_STATUSES)
    ...

class ItemAdmin(admin.ModelAdmin):
  pass

admin.site.register(Item, ItemAdmin)

最佳答案

覆盖 get_queryset() (对于 django>=1.6)你的 ModelAdmin 方法:

The get_queryset method on a ModelAdmin returns a QuerySet of all model instances that can be edited by the admin site.

class ItemAdmin(admin.ModelAdmin):
    def get_queryset(self, request):
        qs = super(ItemAdmin, self).get_queryset(request)
        return qs.filter(status='pending')

仅供引用,对于 django <= 1.5 使用 queryset()方法代替。

关于python - Django admin,只显示需要的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22843875/

相关文章:

Django 不会在 Postgres 上创建 ImageField

django - 将 Django 模型/表拆分为两个模型/表是否有性能优势?

python - Scikit-Learn:加载和转储多标签 SVMlight 格式

python获取传递函数的参数

python - 不保存某些字段的数据

python - python-weka Wrapper 中的运行时错误

python - PostgreSQL 在 'Local time zone' 中保存日期,而我使用 Django 将其设置为 'UTC'

python - 为什么 `for x in list[None:None]:` 有效?

python - 如何调用 python/flask 服务器从服务器端函数重新加载客户端页面?

javascript - 更新呈现的 Django 模板中的列表项