如何在Admin中为模型设置多个查询集

时间:2010-09-06 11:42:30

标签: django django-admin

假设我有一个Sale模型,用于跟踪销售情况,sold_on字段。我想在Admin中有两个视图,一个显示所有Sale,一个显示Sale在上周。

我无法覆盖ModelAdmin.queryset,因为我想在不同的时间看到两个Querysets。什么是最好的方法。

1 个答案:

答案 0 :(得分:2)

解决此问题的一种方法是(1)为Sale声明proxy model(2)为此代理添加自定义ModelAdmin,以及(3)限制{{} 1}}此自定义管理员仅从上周返回销售额。像这样:

queryset

这样,您会在管理页面中看到一个新项目# models.py class LastWeekSales(Sale): class Meta: proxy = True verbose_name_plural = "Sales from last week" # admin.py class ProxySaleAdmin(SaleAdmin): def queryset(self, request): return self.model.objects.filter(**conditions) admin.site.register(LastWeekSales, ProxySaleAdmin) ,仅列出上周的销售额。