0

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 レベルの深さの継承階層があります。パーティが外部キーとして他のモデルにインポートされる場合、ユーザーはフィールドの横にある追加ボタンをクリックしてパーティを追加できる必要があります。それが私の問題の始まりです。追加するパーティーの王様をユーザーに尋ね、次に追加する組織の種類を尋ねてから、正しい形式を提示する必要があります。私はthisthisのような良い投稿に数時間を費やし、部分的に成功しましたが、適切な解決策を実装できませんでした. 私のプロジェクトには他にも複数レベルの深い継承のケースがあるため、この問題を解決することは私にとって非常に重要です。「ベストプラクティス」のアドバイスをいただければ幸いです。

4

0 に答える 0