【发布时间】:2014-07-02 12:32:57
【问题描述】:
在 Django 1.6 项目中,我正在使用具有外键依赖关系的模型结构,如下所示。在我的 ParentModel 方法 mixin 中,我需要添加一个方法来创建新的 ChildModel 实例,其中父外键作为方法上下文中的“self”。
我已经通过从ParentModel 方法中导入ChildModel 成功地实现了这一点,但我想知道是否有更简洁的方法来实现这一点。当我尝试在 mixins.py 的顶层直接导入 Child 模型时,我收到一个导入错误,这是由于我想的交叉导入。
这里有没有办法避免 ParentModel 方法中的导入表单?
如果不是,出于好奇,从方法中动态调用 ChildImport 的开销是多少? 还是python每次都导入该方法,还是该代码以某种方式缓存?
models.py
from .mixins import ParentMixins
class ParentModel(models.Model, ParentMixins):
name = models.TextField()
class ChildModel(models.Model):
parent = models.ForeignKey(ParentModel)
mixins.py
class ParentMixins(object):
def create_child(self):
from .models import ChildModel
ChildModel.create(parent=self)
【问题讨论】:
标签: python django methods import dependencies