在Django中导入一个模型,该模型在两个不同的应用程序问题之间共享它的名称

时间:2011-09-13 19:55:40

标签: python django models

我有两个名为“challenge”的应用程序,另一个名为“stats”;在models.py文件中我都有名为Team的类。它们服务于两个完全独立的目的。当我从另一个应用程序导入时

from stats.models import Team

它只会始终从challenge中导入Team模型,而不是从stats导入。如果我从挑战中导入

from challenge.models import Team

它将从挑战中正确导入。当我使用shell时,我得到以下内容:

>>> from stats.models import Team
>>> Team
<class 'challenge.models.Team'>

我认为它可能属于settings.py中INSTALLED_APPS中的应用程序顺序,因此我重新排列它们无济于事。

是否有一些奇怪的循环依赖性事情我没有抓到或者这是Django中的一个错误?这是怎么回事?

1 个答案:

答案 0 :(得分:1)

怎么样:

from challenge.models import Team as ChallengeTeam
from stats.models import Team as StatsTeam

ChallengeTeam
>>> <class 'challenge.models.Team'>

StatsTeam
>>> <class 'stats.models.Team'>