试图在 Django-Oscar 中的ProductCategoryView上实现一个简单的排序查询。实现起来应该相当简单,但是要花太多时间来理解。我正在重新考虑是否继续与奥斯卡合作,因为它似乎难以扩展。
ProductCategoryView返回某个类别的产品。我想根据产品模型中的某些字段对它们进行排序,比如price
。首先,我将父泛型类从更改为TemplateView
,ListView
以便我可以使用get_queryset
方法。然后我重写get_queryset
下面的方法并在其中编写一个简单的查询集。尽管流程确实进入了方法内部,但排序仍然没有发生。get_queryset
def get_queryset(self):
queryset = Product.objects.filter(categories = self.category)
logger.debug("inside")
queryset = queryset.order_by("price")
return queryset
那么我必须覆盖哪些方法。每次编辑奥斯卡都会有这么多麻烦还是我错过了什么?
PS:我最近问了很多关于 Django/Oscar Class based view 的问题。所以我可能看起来像一个帮助吸血鬼。如果是这种情况,请忽略这个问题。