前提・実現したいこと
Djangoで簡単な本の感想文を格納するwebシステムを作成しています。
チュートリアルは一通り行いましたが、イマイチDB情報を表示する方法がわかっておりません。
やりたいことは、以下です。
- Django, python3, SQLite3を使用
- テーブルはBookとImpressionがある。
- home.htmlではBookの一覧を表示している。
- Bookに紐づくImpressionテーブルの個数を表示したい
- Bookのデータは存在するがImpressionがない場合、Bookは一覧に載り、個数は0として表示。
初めてコードを触るため、簡単に教えて頂ければ幸いです。
models.py
python3
1class Book(models.Model): 2 name = models.CharField(max_length=100) 3 author = models.CharField(max_length=100) 4 5 def __str__(self): 6 return self.name 7 8class Impression(models.Model): 9 content = models.ForeignKey(Book, on_delete=models.PROTECT) 10 submitter = models.CharField(max_length=100) 11 date = models.DateField() 12 13 def __str__(self): 14 return self.content
urls.py
python3
1urlpatterns = [ 2 path('home/', views.HomeView.as_view(), name='home'), 3 path('detail/<int:pk>', views.DetailView.as_view(), name='detail'), 4]
views.py
python3
1class HomeView(ListView): 2 template_name = 'impressionmanager/home.html' 3 model = Book 4 5class DetailView(ListView): 6 template_name = 'impressionmanager/detail.html' 7 model = Impression
home.html
html
1<h1>HOME</h1> 2 3<ul> 4 {% for book in object_list %} 5 <li><a href="">{{ book.name }} : {{"感想分カウント数"}}</a></li> 6 {% endfor %} 7</ul>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/03 01:44