擅长:python、mysql、java
<p>如果可以重新组织模型,则可以使用模型继承(<a href="https://docs.djangoproject.com/en/1.8/topics/db/models/#model-inheritance" rel="nofollow">https://docs.djangoproject.com/en/1.8/topics/db/models/#model-inheritance</a>)</p>
<p>您的<code>Item</code>模型可能是<code>Shorten_Item</code>的子类,因为它只包含一个额外的字段<code>cl = CharField()</code></p>
<p>您可以保持<code>Shorten_Item</code>不变,然后使<code>Item</code>从该模型继承:</p>
<pre><code>class Item(Shorten_Item):
cl = models.CharField(max_length=100, default=None ,blank=True)
</code></pre>
<p>现在在你的另一节课上</p>
^{pr2}$
<p>在检索Shorten项目的ID时,使用业务逻辑来确定是要将其用作<code>Shorten_Item</code>还是{<cd1>}(需要时将其向下转换为<code>Item</code>)</p>
<p>如果不能重新组织模型以从继承中获益,那么唯一的解决方案可能是使用<code>item_id = IntegerField()</code>作为“外键”,它将能够指向任何表,并且您必须自己编写更多的查询</p>