2
我有一個運行在SQLite數據庫或MySQL數據庫細一些Django的代碼問題,但它運行與Postgres的問題,它讓我瘋了,沒有一個已經有這個問題之前, 。我認爲這也可能與查詢集由尋呼機評估的方式有關。Django的尋呼對象有PostgreSQL的查詢集
在視圖中我有:
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()
一切都很好。我試着重新閱讀文檔,但沒有發現任何內容,儘管我承認在這一點上我有點灰心。我錯過了什麼?
在此先感謝。
AFAIK,Paginator只是將Query和QuerySet對象中的LIMIT和OFFSET添加到查詢中。到目前爲止,我從來沒有遇到Paginator和PostgreSQL的問題。嘗試通過分頁程序及其與您的查詢集外殼object_lists循環,也許你會得到一個更精確的錯誤消息,或者你會發現它運行良好。 – Haes 2011-02-02 08:09:48