gpt4 book ai didi

python - django 管理器获取任何一个对象

转载 作者:太空宇宙 更新时间:2023-11-04 10:50:03 27 4
gpt4 key购买 nike

在多对一模型中,我只想从管理器中获取一个对象(任何一个对象),怎么办?

models.School.student_set.any_one()

我没有在文档中找到任何此类方法。现在我正在做类似的事情:

models.School.student_set.all()[0]

我认为这是低效的。

最佳答案

在您实际从中获取一些数据之前不会评估 QuerySet,因此对 all() 的结果进行切片实际上会很有效。

参见 docs on QuerySets - “在您执行某些操作来评估查询集之前,实际上不会发生任何数据库事件。”。还有关于 limiting QuerySets 的文档明确提及您的案例。

如果您喜欢冒险,可以通过查看 django.db.connection.queries ( docs ) 自行验证

关于python - django 管理器获取任何一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14548819/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com