2011-02-02 50 views
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() 

一切都很好。我試着重新閱讀文檔,但沒有發現任何內容,儘管我承認在這一點上我有點灰心。我錯過了什麼?

在此先感謝。

+0

AFAIK,Paginator只是將Query和QuerySet對象中的LIMIT和OFFSET添加到查詢中。到目前爲止,我從來沒有遇到Paginator和PostgreSQL的問題。嘗試通過分頁程序及其與您的查詢集外殼object_lists循環,也許你會得到一個更精確的錯誤消息,或者你會發現它運行良好。 – Haes 2011-02-02 08:09:48

回答

0

這是我的一個可怕的錯誤,沒有指責Postgresql - 問題是我的自定義模板標籤之一處理postgresql數據庫中某些不存在於SQLite中的某些帖子。我仍然在解決這個問題,但這個問題是無效的。