django 1.7和python 2.7中模型的嵌套导入

django 1.7和python 2.7中模型的嵌套导入,python,django,python-2.7,django-1.7,Python,Django,Python 2.7,Django 1.7,这个问题的标题可能令人困惑。我不知道这个问题应该用什么标题 我在应用程序a中有两个models文件==>models.py,在应用程序b中有两个models.py models.py在应用程序A中具有A类 models.py在应用程序B中具有B类 这两个类都扩展了django.db.models.Model,即这些类正在创建数据库表 我想从应用程序A中的models.py导入A类,后者从应用程序B中的models.py导入B类 我想说的是,这两个类都在互相使用 如果我这样编码: 应用程序a中的m

这个问题的标题可能令人困惑。我不知道这个问题应该用什么标题

我在应用程序a中有两个models文件==>models.py,在应用程序b中有两个models.py models.py在应用程序A中具有
A类
models.py在应用程序B中具有
B类

这两个类都扩展了django.db.models.Model,即这些类正在创建数据库表

我想从应用程序A中的models.py导入A类,后者从应用程序B中的models.py导入B类

我想说的是,这两个类都在互相使用

如果我这样编码: 应用程序a中的models.py==>

from b.models import B
应用程序b中的models.py==>

from a.models import A
然后我得到一个导入错误,B没有定义


如何在两个文件中导入这两个类?

您可以创建模型的外键,而无需导入它。而不是模型类传递一个带有app name和model name的字符串。见:

如果要在代码中的某个位置访问此模型,请将其导入函数中:

class B(models.Model):

    def some_method(self):
        from a.models import A
        ...

您可以创建模型的外键,而无需导入它。而不是模型类传递一个带有app name和model name的字符串。见:

如果要在代码中的某个位置访问此模型,请将其导入函数中:

class B(models.Model):

    def some_method(self):
        from a.models import A
        ...

这是一个循环依赖性问题。你可以核对答案


简而言之,您应该尝试更改类组织以防止出现这种情况,或者可以在函数中使用导入来避免导入错误。

这是一个循环依赖性问题。你可以核对答案


简而言之,您应该尝试更改类组织以防止出现这种情况,或者您可以在函数中使用导入来避免导入错误。

您是否已将应用程序B添加到设置中。py?是的,所有其他内容都是正确的。我想知道两个模型是如何同时交互的。你是否在设置中添加了应用程序B。py?是的,所有其他内容都是正确的。我想知道两个模型是如何同时相互作用的。