我正在尝试在Django(1.7)中实现多表继承类层次结构。
我的模型可以简化为:
PARTY_TYPES = ((1, "Person"), (2, "Organization"))
ORGANIZATION_TYPES = ((1, "Private"), (2, "Governmental"))
class Party(models.model):
party_type = models.PositiveSmallIntegerField(choices = PARTY_TYPES)
party_name = models.CharField(max_length = 250)
class Person(Party):
sex = models.CharField(max_length = 1)
class Organization(Party):
organization_type = models.PositiveSmallIntegerField(choices = ORGANIZATION_TYPES)
full_name = models.CharField(max_length = 250)
class PrivateOrganization(Organization):
some_field = ...
class GovernmentalOrganization(Organization):
some_field = ...
正如您所看到的,存在一个2级深度的继承层次结构。当派对作为外键导入到其他模型时,用户需要能够通过单击该字段旁边的添加按钮来添加它。这就是我的问题开始的地方。我需要让用户加入方王,然后可能要添加的组织类型,然后呈现正确的表格。我花了几个小时发布了this或this这样的好帖子并且取得了部分成功,但我无法实施正确的解决方案。我的项目中还有其他多级深度继承案例,因此解决这个问题对我来说非常重要。我很欣赏任何“最佳实践”建议。