擅长:python、mysql、java
<p>这是一个改进的帮助类或段。</p>
<pre><code>from django.db.models import QuerySet
from typing import Iterator, TypeVar, Generic
_Z = TypeVar("_Z")
class QueryType(Generic[_Z], QuerySet):
def __iter__(self) -> Iterator[_Z]: ...
</code></pre>
<p>此类专门用于<code>QuerySet</code>对象,例如在查询中使用<code>filter</code>时。<br/>
样品:</p>
<pre><code>from some_file import QueryType
sample_query: QueryType[SampleClass] = SampleClass.objects.filter(name=name)
</code></pre>
<p>现在,解释器将<code>sample_query</code>识别为一个<code>QuerySet</code>对象,您将得到诸如<code>count()</code>之类的建议,并且当循环遍历这些对象时,您将得到有关<code>SampleClass</code>的建议</p>
<p><strong>注意</strong><br/>
这种类型提示的格式从<code>python3.6</code>开始就可用。</p>
<p><br/>
您还可以使用<a href="https://github.com/Vieolo/django-hint" rel="nofollow noreferrer">django_hint</a>,它具有专门用于Django的暗示类。</p>