djangoでquerysetを取得しhtmlで表示
解決したいこと
WEBアプリを制作しています。
今回アプリ内でフォロワーの数を表示する際に、DBからcount等を使いquerysetを取得しブラウザでの表示に成功しました。
しかし、nullのデータも合わせてカウントしてしまうため出力結果が『1』となり、正確なデータが取得できません。
views.py
@login_required(login_url='/movieist/accounts/login/')
def profile(request):
followingData = Follow.objects.filter(
owner=request.user.id).values('following').count()
followerData = Follow.objects.filter(
owner=request.user.id).values('follower').count()
params = {
'followingData': followingData,
'followerData': followerData,
}
return render(request, 'movieist/profile.html', params)
html
<div class="follower">
<h1>{{followerData}}</h1>
</div>
<div class="following">
<h1>{{followingData}}</h1>
</div>
mysql> select * from movieist_follow ;
+----+-----------+----------+----------+
| id | following | follower | owner_id |
+----+-----------+----------+----------+
| 2 | NULL | NULL | 12 | <--これでログイン中
+----+-----------+----------+----------+
2 rows in set (0.00 sec)
出力結果を『0』にしたいです。
至らないところも多々あるかと思いますがよろしくお願いします。
0