Django データ取得
データを取得
モデルからQuerySetにデータを取得するには、さまざまな方法があります。
values() メソッド
このvalues()メソッドを使用すると、名前と値をキーと値のペアとして使用して、各オブジェクトをPythonの辞書として返すことができます。
例
views.py:
from django.http import HttpResponse
from django.template import loader
from .models import Member
def testing(request):
mydata = Member.objects.all().values()
template = loader.get_template('template.html')
context = {
'mymembers': mydata,
}
return HttpResponse(template.render(context, request))
特定の列を返す
このvalues_list()メソッドを使用すると、指定した列のみを返すことができます。
例
firstname列のみを返します。
views.py:
from django.http import HttpResponse
from django.template import loader
from .models import Member
def testing(request):
mydata = Member.objects.values_list('firstname')
template = loader.get_template('template.html')
context = {
'mymembers': mydata,
}
return HttpResponse(template.render(context, request))
特定の行を返す
filter()メソッドを使用すると、検索をフィルタリングして特定の行/レコードのみを返すことができます。
例
firstname「Emil」が含まれるレコードのみを返します。
views.py:
from django.http import HttpResponse
from django.template import loader
from .models import Member
def testing(request):
mydata = Member.objects.filter(firstname='Emil').values()
template = loader.get_template('template.html')
context = {
'mymembers': mydata,
}
return HttpResponse(template.render(context, request))
この方法については、次の章filter()で詳しく説明します。