Jim*_*myn 8 python django django-models
我有两个问题,但它们与同一主题有关.
我知道如何从for loop使用模板标签中检索数据
{% for status in status %}
<tr>
<td>{{ status.status}}</td>
</tr>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
但是,当我想要检索单个对象时,即使我使用时也会出现错误:
po = Status.objects.latest('id')
Run Code Online (Sandbox Code Playgroud)
并删除for循环.
我明白了:
'Status' object is not iterable
Run Code Online (Sandbox Code Playgroud)
我的问题是:
Mat*_*our 15
这里有两个不同的问题:
您可以使用latest()queryset运算符执行此操作.通过阅读文档,您将注意到此运算符适用于日期字段,而不是整数.
Status.objects.latest('date_added') # or date_updated
Run Code Online (Sandbox Code Playgroud)
如果您想通过ID执行此操作,则需要按ID排序并选择第一个结果.(这只有在使用递增主键时才有效,它不适用于UUID或随机生成的哈希值).
Status.objects.order_by('id')[0]
Run Code Online (Sandbox Code Playgroud)
旁注:我个人会用这种date_added / date_updated方式.
无法迭代单个对象.为此,您需要使用不同的模板.或者,您需要将单个对象添加到列表中.
# note the [] around the query
result = [Status.object.latest('date_added')]
Run Code Online (Sandbox Code Playgroud)
就个人而言,我对列出单个/多个结果有不同的看法.我有ListView很多结果对象和一个DetailView单个对象.
| 归档时间: |
|
| 查看次数: |
13953 次 |
| 最近记录: |