の唯一のインスタンスを持っていることができます。DjangoのモデルAは、私は2つのモデルを持っているモデルB
class ModelA(models.Model):
name = models.CharField(max_length=256)
class ModelB(models.Model):
user = models.ForeignKey(MyUser)
model_a = models.ForeignKey(ModelA)
points = models.IntegerField(default=0)
をどのように私は、同じオブジェクトを作成防ぐことができますか?例:
私はModelAのA、B、Cインスタンスと2人のユーザーを持っています。 ModelBでは、次のような関係が必要です。
User1は、A、1〜Bなどと 'リンク'が1つしかありません。 User2は同じです。彼は各ModelAインスタンスに「リンク」することができます。
各ユーザーは、ModelAに関連付けられたModelBに1つのレコードを持つことができます。
など。 (ユーザー1、A、100)、(ユーザー2、A、50) しかし、私は、DBのUSER1のレコード、およびA、及び広告ポイントから取得する必要があり、この
...create(user=User1, model_a=A, points=50)
ような何かをしようとする場合には、他の類似したモデルを作成しません。
1対1の関係が存在する場合、私は、あなたの質問を理解していない、あなたがもし、このような – Sayse
としてそれを定義する必要がありますModel_aにOneToOneを追加すると、同じModelAを別のユーザーに追加できません。 – mrsolupo
次に、ModelAが多数あるので、ユーザーは外部キーを定義する必要があります。 – Sayse