0

我有这两个模型:

class Interface(models.Model):
    # fields
class OldInterface(models.Model):
    interface = models.ForeignKey(_base,related_name='old_versions')
    class Meta:
        abstract = True

由他们的“空间”和“功能”变体继承:

class SpatialInterface(Interface):
    # fields
class OldSpatialInterface(OldInterface):
    _base = SpatialInterface

class FunctionalInterface(Interface):
    # fields
class OldFunctionalInterface(OldInterface):
    _base = FunctionalInterface

当然我的代码失败了,因为 _base 没有在父模型中定义。

我的问题是:有什么办法或技巧告诉 ForeignKey 从子 Model 读取目标模型?

或者更一般地说,有什么方法可以在父类中动态读取位于子类中的变量?

4

1 回答 1

0

根据我的研究,我认为这是不可能的,因为 syncdb 解析 models.py : 的__init__()方式没有被调用,所以我没有找到任何方法来根据孩子动态设置 ForeignKey 目标。

于 2012-11-07T08:38:33.870 回答