最适合网络开发者的网站
Django。初学者课程

尿素 西斯

Django 查询集


Django 查询集

A 查询集 是来自数据库的数据集合。

QuerySet 由对象列表构成。

QuerySet 允许您在早期阶段过滤和排序数据,从而使您更轻松地获取实际需要的数据。

在本教程中,我们将从 Member 桌子。

Member:

ID 电话 加入日期
 1  埃米尔 雷夫斯内斯  5551234   2022-01-05 
 2  托拜厄斯 雷夫斯内斯  5557777   2022-04-01 
 3  莱纳斯 雷夫斯内斯  5554321   2021-12-24 
 4  莱内 雷夫斯内斯  5551234   2021-05-01 
 5  斯塔利肯 雷夫斯内斯  5559876   2022-09-29 


查询数据

views.py,我们有一个名为的测试视图 testing 我们将在那里测试不同的查询。

在下面的例子中,我们使用 .all() 方法获取所有记录和字段Member 模型:

看法

views.py:

from django.http import HttpResponse
from django.template import loader
from .models import Member

def testing(request):
  mydata = Member.objects.all()
  template = loader.get_template('template.html')
  context = {
    'mymembers': mydata,
  }
  return HttpResponse(template.render(context, request))

对象被放置在一个名为 mydata,并通过 context 对象作为mymembers,如下所示:

<QuerySet [
<Member: Member object (1)>,
<Member: Member object (2)>,
<Member: Member object (3)>,
<Member: Member object (4)>,
  <Member: Member object (5)>
]>

正如您所见,我们的 Member 模型包含 5 条记录,并在 QuerySet 中列出为 5 个对象。

在模板中,您可以使用 mymembers 对象生成内容:

模板

templates/template.html:

<table border='1'>
  <tr>
    <th>ID</th>
    <th>Firstname</th>
    <th>Lastname</th>
  </tr>
  {% for x in mymembers %}
    <tr>
      <td>{{ x.id }}</td>
        <td>{{ x.firstname }}</td>
      <td>{{ x.lastname }}</td>
    </tr>
  {% endfor %}
</table>
运行示例 »


评论