Django QuerySet - 获取数据


获取数据

有多种方法可以将数据从模型获取到查询集中。


value() 方法

这个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是“埃米尔”

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()方法中的下一章