小编Luk*_*vic的帖子

Django admin change_list视图获取ChangeList queryset - 比我的猴子补丁更好的解决方案

我需要在django admin中获取changelist视图查询集.目前,我有这个猴子补丁,它提出了4个额外的查询,所以我正在寻找更好的解决方案.

我的观点是:我想将一些额外的值传递给django admin change_list.html模板,这是我从创建查询中得到的.对于那些查询,我需要在django管理员更改列表视图中使用的查询集,其中应用了请求过滤器.这是我看到的过滤,订购等相同的数据.我想根据这些数据制作图表.

你了解我吗?谢谢

#admin.py
from django.contrib.admin.views.main import ChangeList

class TicketAdmin(admin.ModelAdmin):

    def changelist_view(self, request, extra_context=None):

        cl = ChangeList(request, 
                        self.model, 
                        self.list_display, 
                        self.list_display_links, 
                        self.list_filter, 
                        self.date_hierarchy, 
                        self.search_fields, 
                        self.list_select_related, 
                        self.list_per_page,
                        self.list_max_show_all, 
                        self.list_editable, 
                        self) # 3 extra queries
        filtered_query_set = cl.get_query_set(request) # 1 extra query

        currencies_count = filtered_query_set.values('bookmaker__currency').distinct().count()

        extra_context = {
            'currencies_count': currencies_count,
        }
        return super(TicketAdmin, self).changelist_view(request, extra_context=extra_context)
Run Code Online (Sandbox Code Playgroud)

django django-admin

6
推荐指数
1
解决办法
8660
查看次数

Django admin - 禁用特定模型实例的"编辑"

嗨我想根据模型状态禁用某些模型实例的编辑(在Django管理员中).如果状态大于1,则将禁用编辑.我知道如何在左侧禁用该链接,但如果我设置了正确的URL,它仍然可以编辑,因此不欢迎此解决方案.

我的模特:

STATUS_CHOICES = (
                (1, _(u'p')),
                (2, _(u'w')),
                (3, _(u'l')),
                (4, _(u'p')),
)  

class Ticket(models.Model):
   author = models.ForeignKey(User, editable=False)
   status = models.PositiveIntegerField(_('status'), choices=STATUS_CHOICES, default=1, editable=False)
Run Code Online (Sandbox Code Playgroud)

django

2
推荐指数
1
解决办法
4692
查看次数

标签 统计

django ×2

django-admin ×1