前提・実現したいこと
Python,DjangoでWEBシステムを開発しています。
Djangoフレームワークでは、Viewクラスで取得したデータベースの値を、テンプレートで表示させる方法が用意されていますが、テンプレートではなく、Viewクラス内のコードで取得したデータベースの値を利用したいと思っています。
発生している問題・エラーメッセージ
しかし、例えば以下のコード
query_set = SampleDB.objects.filter(user=self.request.user) print(query_set)
でデータベースから取得した値を表示させると
<QuerySet [<SampleDB: SampleDB object (26)>]>
こちらのコード(filter→getに変更)
query_set = SampleDB.objects.get(user=self.request.user) print(query_set)
でデータベースから取得した値を表示させると
SampleDB object (26)
というように、object?の形で表示されてしまいます。
これを、データベース内にある値を表示(利用)させたいのですが、どのようなコード使用すると可能になりますでしょうか?
例えば、SampleDBに、intフィールドがあれば[数字]を、textのフィールドがあれば[文字列]を表示させたい
上記の方法について、ご教授いただきたいです。
該当のソースコード
◆以下に参考コードを載せます
views.py
from django.contrib.auth.mixins import LoginRequiredMixin from django.urls import reverse_lazy from django.views import generic from .models import SampleDB class HomeView(LoginRequiredMixin, generic.ListView): model = SampleDB template_name = 'home.html' def get_queryset(self): query_set = SampleDB.objects.filter(user=self.request.user) print(query_set) return query_set
models.py
from accounts.models import CustomUser from django.db import models class SampleDB(models.Model): user = models.ForeignKey(CustomUser, on_delete=models.PROTECT) memo = models.TextField(blank=True, null=True)
補足情報(FW/ツールのバージョンなど)
●開発環境
Python: 3.7.5
Django: 2.2.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/17 01:13