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のような良い投稿に数時間を費やし、部分的に成功しましたが、適切な解決策を実装できませんでした. 私のプロジェクトには他にも複数レベルの深い継承のケースがあるため、この問題を解決することは私にとって非常に重要です。「ベストプラクティス」のアドバイスをいただければ幸いです。