djnago、views.pyにおいて関数viewで記述した内容をTemplateViewに書き換えたいのですが、やり方がいまいち分かりません。
python
1def index(request, username): 2 user = get_object_or_404(User, username=username) 3 post_data = user.post_set.all() 4 5 return render(request, 'post/index.html', { 6 'user': user, 7 'post_data': post_data, 8 })
上記を関数viewをTemplateViewに書き換えたいです。
python
1class IndexView(ListView): 2 model = Post 3 template_name = 'post/index.html' 4 paginate_by = 5 5 6 # 下記を追加したが思うような挙動をしてくれませんでした。 7 def get_queryset(self): 8 user = self.request.user.id 9 return Post.objects.filter(user=user)
期待する挙動としては、リクエストユーザーでは無く、投稿したuserの投稿一覧を取得したいイメージになります。
アドバイスよろしくお願いします。
追記
model.py
python
1class Post(models.Model): 2 user = models.ForeignKey(User, on_delete=models.CASCADE) 3 title = models.CharField(max_length=255) 4 content = models.TextField() 5 description = models.TextField(verbose_name='概要',blank=True, null=True) 6 created_at = models.DateTimeField(verbose_name='作成日',auto_now=True) 7 updated_at = models.DateTimeField(verbose_name='更新日',auto_now_add=True)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/05/07 01:48
2020/05/07 03:11 編集
退会済みユーザー
2020/05/07 04:17
2020/05/07 04:22
退会済みユーザー
2020/05/07 04:29
2020/05/07 05:19
退会済みユーザー
2020/05/07 06:47
2020/05/07 08:19 編集
退会済みユーザー
2020/05/07 08:56
2020/05/07 09:13
退会済みユーザー
2020/05/07 11:27
2020/05/07 11:38
退会済みユーザー
2020/05/07 12:13
退会済みユーザー
2020/05/07 12:55
退会済みユーザー
2020/05/07 13:52
2020/05/07 20:13
退会済みユーザー
2020/05/07 23:57
2020/05/08 00:13
退会済みユーザー
2020/05/08 00:20
2020/05/08 00:26 編集
退会済みユーザー
2020/05/08 00:34
2020/05/08 00:44
退会済みユーザー
2020/05/08 00:46