2

request.user 変数を使用して、データベース内のドラフト オブジェクトのセットをフィルタリングしようとしています。何らかの理由で、以下にリストされているエラーが発生します。このバグを修正するにはどうすればよいですか?

関数:

def posting_draft(request):
    user = request.user
    user_drafts = Draft.objects.filter(user = user)
    drafts = dict()
    for d in user_drafts:
        drafts[d.title] = d.id
    return render_to_response('posting_draft.html', {'STATIC_URL':STATIC_URL, 'draft_l' : drafts})

エラー:

int() argument must be a string or a number, not 'SimpleLazyObject'
4

2 に答える 2

4

request.user はSimpleLazyObjectアクセスされるまでです。クエリを次のように変更してみてください。

user_drafts = Draft.objects.filter(user = user.pk)
于 2012-08-09T03:00:10.253 に答える
3

問題は次の行にあります。

user = request.user

詳細については、この投稿をお読みください request.user は SimpleLazyObject を返します。

于 2012-08-09T02:36:06.730 に答える