1
(使用dajngo 1.9和Python 2.7版)如何訪問父抽象類模型在Django
所以我有幾個子類的抽象類。它看起來像這樣:
class Node(models.Model):
[...]
class Meta:
abstract = True
class Individual(Node):
[...]
class Company(Node):
[...]
class Media(Node):
[...]
class Share(models.Model):
share = models.FloatField(null=True)
child_content_type = models.ForeignKey(ContentType, related_name='child')
child_object_id = models.PositiveIntegerField()
child = GenericForeignKey('child_content_type', 'child_object_id')
parent_content_type = models.ForeignKey(ContentType, related_name='parent')
parent_object_id = models.PositiveIntegerField()
parent = GenericForeignKey('parent_content_type', 'parent_object_id')
的事情是,實際上,共享的孩子,家長可以在任何模型所以我想實現一個擴展的save()方法(分享),將檢查兩個。子節點和父節點從節點繼承。
我要找的東西可能看起來像這樣的:
assert child.inherited_class.name == 'node'
assert parent.inherited_class.name == 'node'
(或ocurse的child_content_type
)