如何在Django&amp ;;中依赖原始SQL查询然后开始应用分页

时间:2016-04-26 07:42:01

标签: django django-models django-queryset

我有Shop模型类。我将QueryString传递给原始Django ORM以从重复项中获取所有非重复记录+ 1条记录。

以下是查询:

   qs = Shop.objects.raw(select a.* from customers a INNER JOIN (SELECT city ,MIN(id) as id FROM customers GROUP BY city) AS b ON a.city = b.city AND a.id = b.id)

这里我得到一个原始查询集。我想知道查询结果的计数。 我该怎么办?

分页:

page_object = Pagination(qs, 2)
page_count = page_object.num_pages

执行上述行后,我收到错误:

TypeError: object of type 'RawQuerySet' has no len()

有人可以有任何想法吗?我如何将分页应用于我的原始查询集。

无论我尝试什么,都是因为我使用MySQL作为数据库。

"pagination = Paginator(qs, records_per_page) 
totalPageCount = pagination._count = len(list(qs))"

我在第二行收到错误您的SQL语法出错了;查看与您的MySQL服务器版本相对应的手册,以便在“创建BY”附近使用正确的语法。在第1行

我只想确定是否有可能从原始QuerySet中计算记录?如果是,那么如何计算?

0 个答案:

没有答案