Django模型mixin依赖进口的mod

2024-09-29 19:35:28 发布

您现在位置:Python中文网/ 问答频道 /正文

在django1.6项目中,我使用的模型结构具有外键依赖关系,如下所示。在ParentModel方法mixin中,我需要添加一个方法,该方法在方法上下文中创建新的ChildModel实例,父外键作为“self”。在

我通过从ParentModel方法中导入ChildModel成功地实现了这一点,但我想知道是否有一种更干净的方法来实现这一点。当我尝试在中直接导入顶层的子模型时mixins.py,我得到一个导入错误,这是由于交叉导入造成的。在

有没有办法在ParentModel方法中避免导入表单?在

如果不是,出于好奇,让ChildImport从方法内部动态导入的开销是多少? 或者python每次都要导入这个方法,还是缓存了这些代码?在

模型.py

from .mixins import ParentMixins

class ParentModel(models.Model, ParentMixins):
    name = models.TextField()

class ChildModel(models.Model):
    parent = models.ForeignKey(ParentModel)

mixins.py

^{pr2}$

Tags: 项目方法py模型model关系modelsmixins
1条回答
网友
1楼 · 发布于 2024-09-29 19:35:28

假设您可以保证任何类都不会为父字段定义相关的名称,那么您只需在create_child方法中执行此操作:

self.childmodel_set.create()

那就根本不需要做导入了。在

(尽管我必须承认,我对mixin依赖于具体模型中的字段的想法有点困惑,但它实际上并没有提供它自己)

相关问题 更多 >

    热门问题