0
私はDjangoのアプリで、以下のデータモデルを実装しようとしています:ジャンゴ1対1および1対多の関係
Aプロジェクトは、3つのコンテナで構成されています: 1) アクショナブル2) を参照します3)Backburner
エントリはプロジェクト内で作成することができ、いずれかのコンテナに割り当てる必要があります(自由に浮動したままにすることはできません)。
したがって、Projectには常に3つのコンテナが含まれていますが、いずれも空にすることができます。エントリは常にコンテナの1つ(そして1つだけ)にあります。ただし、エントリをコンテナからコンテナに切り替えることはできます。
ここは私の試みです。これはまったく合理的ですか?
class Project(models.Model):
project_title = models.CharField()
created_date = models.DateTimeField('date created')
class References(models.Model):
project = models.OneToOneField(
Project,
on_delete=models.CASCADE,
primary_key=True,
)
class BackburnerItems(models.Model):
project = models.OneToOneField(
Project,
on_delete=models.CASCADE,
primary_key=True,
)
class ActionSteps(models.Model):
project = models.OneToOneField(
Project,
on_delete=models.CASCADE,
primary_key=True,
)
class Entry(models.Model):
title = models.CharField(max_length=200)
description = models.CharField(max_length=200)
action_steps = models.ForeignKey(ActionSteps)
references = models.ForeignKey(References)
backburner = models.ForeignKey(BackburnerItems)
です。プロジェクトの作成時にコンテナが確実に作成されるようにする方法はありますか?または、エントリをそこに移動しようとしている場合にのみ、プロジェクト用のコンテナを作成する必要がありますか? – MadPhysicist
コンテナはもはや別個のモデルではなく、単純に 'Entry'モデルのcharフィールドであり、' Entry'は 'Project'に直接' ForeignKey'を持っています。別々にコンテナを作成する必要はありません。 – knbk
ありがとうございました! – MadPhysicist