我有这两个模型:
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从子模型读取目标模型?
或者更一般地说,在父类中,有没有办法动态读取子类中的变量?
答案 0 :(得分:0)
从我的研究中,我认为这是不可能的,因为syncdb解析models.py的方式:__init__()
被而不是调用,所以我没有找到任何办法根据子项动态设置ForeignKey目标。