Django分页对象在Postgresql查询集中存在问题
我有一些Django代码,在SQLite数据库和MySQL数据库上运行得很好,但在Postgres上却出现了问题,这让我很困惑,因为我觉得之前应该有人遇到过这个问题。我觉得这可能和分页器处理查询集的方式有关。
在我的视图里,我有:
def index(request, page=1):
latest_posts = Post.objects.all().order_by('-pub_date')
paginator = Paginator(latest_posts, 5)
try:
posts = paginator.page(page)
except (EmptyPage, InvalidPage):
posts = paginator.page(paginator.num_pages)
return render_to_response('blog/index.html', {'posts' : posts})
在模板里:
{% for post in posts.object_list %}
{# some rendering jazz #}
{% endfor %}
在SQLite上这没问题,但在Postgres上却给我:
Caught TypeError while rendering: 'NoneType' object is not callable
更麻烦的是,当我把查询集的调用改成:
latest_posts = Post.objects.all()
一切都正常。我试着重新阅读文档,但没找到任何有用的信息,虽然我承认现在有点沮丧。我到底漏掉了什么呢?
提前谢谢大家。
1 个回答
0
这是我犯的一个大错误,完全不能怪Postgresql。问题出在我自己写的一个模板标签上,它处理某些在Postgresql数据库中存在但在SQLite数据库中不存在的帖子时出现了问题。我还在找出具体问题,但这个问题本身是无效的。