Model.objects.filter(pk__in=[list of ids])
和
Model.objects.filter(pk__in=[1,2,3])
如何在模板中显示此数据?
def xx(request):
return HttpResponse(Model.objects.filter(pk__in=[1,2,3]))
答案 0 :(得分:14)
这意味着,向我提供模型Model
的所有对象,其中1
,2
或3
为主键。
您将获得一个对象列表,您可以使用for
template tag
{% for object in objects %}
Some value: {{ object.value }}
{% endfor %}
我不想冒犯你,但你的问题是什么?这一点在文档中都有详细描述。
要了解如何创建Django应用程序,您应该阅读tutorial或Django book。
答案 1 :(得分:0)
一种棘手的批量选择方式(处理大量数据时的最佳实践)。 由于只发送一个 SQL 查询,它会比在循环中调用 get/get_or_create 更快。
尝试计时:
Model.objects.filter(pk__in=[list of ids])
还有这个:
[Model.objects.get(pk=i) for i in ids]
另请注意,在您的笔记本电脑上运行时,django 与数据库通信时的延迟最小(生产可能有所不同)。