次のモデルがあるとします。
class Module(models.Model):
pass
class Content(models.Model):
module = models.ForeignKey(Module, related_name='contents')
class Blog(Module):
pass
class Post(Content):
pass
ブログが所有するすべての「投稿」オブジェクトを次のようにして取得できるようにしたいと思います。
b = Blog.objects.get(pk=1)
b.posts.all()
しかし、私はこれを行う良い方法を考え出していません。インスタンスではなくインスタンスb.contents.all()
が必要なため、使用できません。ルート コンテンツ オブジェクトはありません。すべてのコンテンツ オブジェクトがサブクラス化されますが、すべてのコンテンツを含む中央のテーブルが必要なため、抽象クラスを使用できません。すべての content_blog などのテーブルが存在します。独自の継承されたコンテンツ。Post
Content
私もこれをやってみました
class Content(models.Model):
module = models.ForeignKey(Module, related_name='%(class)')
しかし、私が知る限り、それは惨めに失敗しました。