администратор django использует набор запросов changelist_view для отчета geraldo - PullRequest
0 голосов
/ 22 июня 2011

У меня есть следующая переменная в моем администраторе:

class ModelAdmin(admin.ModelAdmin):
    qs = QuerySet
    ...

и следующее определение в администраторе:

def changelist_view(self, request, extra_context=None):
    from django.contrib.admin.views.main import ChangeList
    cl = ChangeList(request, self.model, list(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_editable, 
                    self) 
    ModelAdmin.qs = cl.get_query_set()
    return super(ModelAdmin, self).changelist_view(request, extra_context=extra_context)

Я использую это для создания отчетов с отчетами Джеральдо какследующим образом:

def groupreport(self, request, extra_context=None):
    resp = HttpResponse(mimetype='application/pdf')
    report = MOdelGroupReport(queryset=ModelAdmin.qs.extra(order_by = ['project_string','code','-pub_date']))
    report.generate_by(PDFGenerator, filename=resp)
    return resp

Он хорошо работает на моей машине для разработки, однако, когда я развертываю его на сервере UWSGI, отчет печатает весь набор запросов, а не текущий отфильтрованный набор запросов.Есть ли лучший способ сделать это?

1 Ответ

1 голос
/ 25 июня 2011

Я закончил тем, что использовал функцию действий администратора и использовал переданный в него набор запросов.

...