擅长:python、mysql、java
<p>Django中的queryset实际上是生成器,而不是列表(有关更多详细信息,请参见<a href="http://docs.djangoproject.com/en/dev/ref/models/querysets/#ref-models-querysets" rel="noreferrer">Django documentation on QuerySets</a>)。<br/>
因此,获取元素索引没有捷径,我认为简单的迭代是最好的方法。</p>
<p>对于starter,我将以尽可能简单的方式实现您的需求(比如迭代);如果您真的有性能问题,那么我将使用一些不同的方法,比如用较少的字段构建一个queryset,或者其他什么方法。<br/>
在任何情况下,我们的想法都是在你明确知道自己需要这些技巧的时候,尽可能晚地留下这些技巧。<br/>
<strong>更新:</strong>您可能需要直接使用一些SQL语句来获取行数(有些是谎言)。但是,Django的ORM本身不支持这种方法,因此必须使用原始SQL查询(请参见<a href="http://docs.djangoproject.com/en/dev/topics/db/sql/#topics-db-sql" rel="noreferrer">documentation</a>)。我认为这可能是最好的选择,但再次-如果你真的看到一个真正的性能问题。</p>