我有一些 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
更复杂的是,当我将 Queryset 调用切换到:
latest_posts = Post.objects.all()
一切正常。我试过重新阅读文档,但一无所获,尽管我承认此时我有点沮丧。我错过了什么?
提前致谢。
最佳答案
这对我来说是一个可怕的错误,不能怪 Postgresql - 问题是我的一个自定义模板标签处理 postgresql 数据库中的某些帖子的方式突然出现,而这些帖子在 SQLite 数据库中不存在。我还在弄清楚这个问题,但这个问题是无效的。
关于python - Django 分页对象与 Postgresql QuerySets 有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4869574/