SQLiteデータベースまたはMySQLデータベース上で正常に動作するdjangoコードがありますが、Postgresで問題が発生し、誰もこの問題を抱えていないことに狂っています。私は、クエリーセットがページャーによって評価される方法にも関係していると思います。DjangoページングオブジェクトにPostgresql QuerySetsに関する問題があります
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はQuerySetオブジェクトのクエリにLIMITとOFFSETを追加するだけです。これまでのPaginatorとPostgreSQLには問題はありませんでした。あなたのQuerySetを使ってシェルのpaginatorとそのobject_listsをループしてみてください。より正確なエラーメッセージが表示されるか、うまく動作することがわかります。 – Haes
'defaultdict'をどこかで使っていますか? –
私はシェル内のすべてを実行しようとしましたが、それはうまく動作し、テンプレートの難しさをさらに不快にしています。どういうわけか、テンプレートはページオブジェクトからオブジェクトリストを取得できません。もっと遊ぶつもりです。私は 'defaultdict'が何であるか分からないので、私はどこにでも使っているとは思わない。 – pivotal