ForeignKey
を2つの異なるモデルに接続したいとします。例えばDjangoで動的な外部キーを使用するには?
:
私は他のモデルのいずれかをお気に入りへの追加のための2つのCasts
とArticles
という名前のモデル、および第3のモデル、Faves
を、持っています。 ForeignKey
を動的にするにはどうすればよいですか?
class Articles(models.Model):
title = models.CharField(max_length=100)
body = models.TextField()
class Casts(models.Model):
title = models.CharField(max_length=100)
body = models.TextField()
class Faves(models.Model):
post = models.ForeignKey(**---CASTS-OR-ARTICLES---**)
user = models.ForeignKey(User,unique=True)
これは可能ですか?ここで
+1一般的なcontenttypesは、受け入れられた答えのように、関係について何も知らない「差し替え可能な」モデルに適していると思います。あなたの答えは、あなたがすべてのモデルのコントロールと完全な知識を持っている状況に適しています。データベースへのクエリの書き込みが簡単になり、ヒット率が低下することを意味します。 –
キャストと記事FKフィールドargsで "null = True"を忘れました。各Faveインスタンスは、type_of_faveフィールドの設定に対応する1つのFKフィールドをNoneに設定しないためです – Geradeausanwalt