擅长:python、mysql、java
<p>这是使用<a href="https://docs.djangoproject.com/en/dev/ref/models/querysets/#values" rel="nofollow noreferrer"><strong>^{<cd1>}</strong> [Django-doc]</a>不是一个好主意的众多原因之一:它侵蚀了模型的逻辑层</p>
<p>可以使用<a href="https://docs.djangoproject.com/en/dev/ref/models/querysets/#annotate" rel="nofollow noreferrer"><strong>^{<cd2>}</strong> [Django-doc]</a>将名称添加到值中:</p>
<pre><code>from django.db.models import F
tabledata = Entity.objects.filter(quarter=1).annotate(
<b>creator_name=F('creator__name')</b>
).values()</code></pre>
<p>然后它将出现在字典中的<code>'creator_name'</code>键下</p>
<p>但是使用<code>.values()</code>通常只在特定用例中有用。例如,在特定值上或子查询中使用<code>GROUP BY</code>。如果要为给定模型生成JSON,应该使用序列化程序</p>