擅长:python、mysql、java
<p>不需要定义相关的名称(除非有冲突)。Django定义了一个非常好的默认值。你知道吗</p>
<p>但是,您的模型结构还有更深层次的问题。ItemAttribute只是多对多关系中的直通表。您根本不需要它,因为Django会自动定义它。只需声明您关心的实际关系,即Item和Attribute之间的关系:</p>
<pre><code>class Item(models.Model):
name = models.CharField(max_length=50, unique=True)
attributes = models.ManyToManyField('ItemAttributeName')
</code></pre>
<p>现在您可以直接使用<code>prefetch_related</code>获取所有内容:</p>
<pre><code>items = Item.objects.all().prefetch_related('attributes')
</code></pre>