擅长:python、mysql、java
<p>基于您对pdxwebdev的注释中的信息(您声明了外键字段),这很简单。Django自动化了外键关系所需的大部分连接行为。</p>
<p>为了精确地复制该查询,包括只从连接中选择两个字段,<code>values</code>、<code>values_list</code>或<code>only</code>中的任何一个都应该根据您想要返回的Python对象进行复制。例如,这里有一个使用<code>values</code>检索可iterable queryset of dictionary的查询:</p>
<pre><code>Establecimiento.objects.values('nombre', 'categoria__titulo')
</code></pre>
<p><code>values_list</code>将检索元组而不是字典,并且<code>only</code>将检索<code>Establecimiento</code>实例,在这些实例上,除这两个模型字段之外的所有模型字段都将被延迟(它们尚未从数据库中检索,但将根据需要进行查找)。</p>
<p>当您使用<code>__</code>跟踪这样的外键关系时,Django将自动执行内部连接。</p>
<p>您还可以对queryset使用<code>select_related</code>来要求它执行联接,即使您没有检索特定字段。例如:</p>
<pre><code>Establecimiento.objects.select_related('categoria')
</code></pre>
<p>这将生成一个<code>SELECT * from ...</code>查询,并返回一个<code>Establecimiento</code>实例的queryset,这些实例的<code>categoria</code>数据已经加载到内存中。</p>