QuerySet 是数据库中数据的集合。
查询集被构建为对象列表。
QuerySets 允许您在早期阶段对数据进行过滤和排序,从而使您可以更轻松地获取实际需要的数据。
在本教程中,我们将从以下位置查询数据Member
表格。
Member
:
id | firstname | lastname | phone | joined_date |
---|---|---|---|---|
1 | Emil | Refsnes | 5551234 | 2022-01-05 |
2 | Tobias | Refsnes | 5557777 | 2022-04-01 |
3 | Linus | Refsnes | 5554321 | 2021-12-24 |
4 | Lene | Refsnes | 5551234 | 2021-05-01 |
5 | Stalikken | Refsnes | 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>
运行示例 »
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!