前提・実現したいこと
djangoを用いて簡易的にアンケートの取れるWEBサイトを作っており,一つの議題をクリックすることで答えのリストを表示させたい。
![
例)この中のtitle_id = 1だけを抽出し、そのanswerをListViewを使って表示させたい。
model.py
from accounts.models import CustomUser from django.db import models class Gidai_home(models.Model): """議題作成者モデル""" user = models.ForeignKey(CustomUser, verbose_name='ユーザー', on_delete=models.PROTECT) title = models.CharField(verbose_name='お題', max_length=50) created_at = models.DateTimeField(verbose_name='作成日時', auto_now_add=True) finished_at = models.DateTimeField(verbose_name='終了日時', auto_now=True) def __str__(self): return self.title class Answer_user(models.Model): """回答者モデル""" user = models.ForeignKey(CustomUser, verbose_name='ユーザー', on_delete=models.PROTECT) name = models.CharField(verbose_name='名前', blank=False, max_length=15) title = models.ForeignKey(Oogiri_home, verbose_name='お題', on_delete=models.PROTECT) answer = models.CharField(verbose_name='回答', blank=True, null=True, max_length=36) score = models.IntegerField(default=0, verbose_name='票数') created_at = models.DateTimeField(verbose_name='作成日時', auto_now_add=True) def __str__(self): return self.name
###views.py
class resultView(generic.ListView): model = Answer_user template_name = 'result.html' queryset = Answer.objects.order_by('-score')
###urls.py
from django.urls import path from django.conf.urls import url from . import views app_name = 'home' urlpatterns = [ path('', views.IndexView.as_view(), name="index"), path('inquiry/', views.InquiryView.as_view(), name="inquiry"), path('mypage/', views.MypageView.as_view(), name="mypage"), path('result/', views.resultView.as_view(), name="result"), ]
試したこと
URLに引数を渡すことができるdetailViewを使ってみたのですが引数を渡すと上で見せたテーブルの一行しか表示することができずなかった。
補足情報(FW/ツールのバージョンなど)
django初心者であり初めてWEBアプリケーションを作っているのでmodelの作り方なども変えたほうがいいなどのアドバイスもよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/28 15:10
2020/09/28 18:01
2020/09/28 22:36