在多一模型中,我只想从管理器获取一个对象(任何一个对象),该怎么做?
models.School.student_set.any_one()
我在文档中没有找到任何这样的方法。现在我正在做类似的事情:
models.School.student_set.all()[0]
我认为这是低效的。
在多一模型中,我只想从管理器获取一个对象(任何一个对象),该怎么做?
models.School.student_set.any_one()
我在文档中没有找到任何这样的方法。现在我正在做类似的事情:
models.School.student_set.all()[0]
我认为这是低效的。
QuerySet 在您实际从中获取一些数据之前不会被评估,因此对结果进行切片all()
实际上是有效的。
请参阅QuerySets 上的文档- “在您执行某些操作来评估查询集之前,实际上不会发生数据库活动。”。关于限制 QuerySets的文档也明确提到了您的情况。
如果您喜欢冒险,您可以通过查看django.db.connection.queries
( docs )自行验证