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})
イム:
をだから、基本的に私がしようとしているviews.pyでmodels.py'User' object is not iterable
で定義された「もの」を投稿した人のユーザー名を示します
しかし、私はrequest.userを使用すべきではないことを知っています。これは基本的に、現在のセッションを持っているか現在ログインしているユーザーを意味するからです。特定の 'pk'のデータを投稿したユーザーのユーザー名はどのように取得できますか?それをhtmlで表示しますか?私はあなたがrequest.user
userId
の代わりにuserId = thing_detail.userId
を使用するように持っていると思う
のためのあなたのprimeryキーすることができ、あなたの 'Thing'モデルの定義はどのようなものが見えますか? 'created_by = models.ForeignKey(settings.AUTH_USER_MODEL)'のような行を使って、誰が作成したのか知りたい場合、Userモデルへの外部キー参照が必要です。 'user = User.objects.get(id = thing_detail.created_by)'でそのユーザにアクセスできます。 –