【问题标题】:Django admin, show only needed modelsDjango admin,只显示需要的模型
【发布时间】:2014-05-15 15:36:10
【问题描述】:

我是 django 新手,我只需要在管理员中显示那些状态 = 'pending' 的模型。

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)

【问题讨论】:

    标签: python django django-models model admin


    【解决方案1】:

    覆盖您的ModelAdminget_queryset() (for django>=1.6) 方法:

    ModelAdmin 上的 get_queryset 方法返回一个包含所有 可以由管理站点编辑的模型实例。

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

    仅供参考,对于 django queryset() 方法。

    【讨论】:

      猜你喜欢
      • 2016-04-23
      • 2019-02-10
      • 2017-09-14
      • 1970-01-01
      • 2018-12-12
      • 2011-03-07
      • 2013-08-28
      • 2018-04-23
      • 1970-01-01
      相关资源
      最近更新 更多