2017-03-28 34 views
1

私はDjangoを使用しており、データを投稿した人物の詳細を表示しようとしています。エラーを取得同じページに2つのフォームを持つDjango CreateView

def thing_detail_view(request, pk): 
    thing_detail = Thing.objects.get(pk=pk) 
    user = User.objects.get(request.user) 
    return render(request, 'thing_detail.html', {'thing_detail': thing_detail, 'user': user}) 

イム:

'User' object is not iterable

をだから、基本的に私がしようとしているviews.pyでmodels.py

で定義された「もの」を投稿した人のユーザー名を示します

しかし、私はrequest.userを使用すべきではないことを知っています。これは基本的に、現在のセッションを持っているか現在ログインしているユーザーを意味するからです。特定の 'pk'のデータを投稿したユーザーのユーザー名はどのように取得できますか?それをhtmlで表示しますか?私はあなたがrequest.user

userIdの代わりにuserId = thing_detail.userIdを使用するように持っていると思う

+0

のためのあなたのprimeryキーすることができ、あなたの 'Thing'モデルの定義はどのようなものが見えますか? 'created_by = models.ForeignKey(settings.AUTH_USER_MODEL)'のような行を使って、誰が作成したのか知りたい場合、Userモデルへの外部キー参照が必要です。 'user = User.objects.get(id = thing_detail.created_by)'でそのユーザにアクセスできます。 –

答えて

0

は、Userモデル

関連する問題