私は基底クラスPublication
を持っています。Book
とMagazine
から継承しています。クエリに一致する子モデルのすべてのインスタンスを見つける
class Author(models.Model):
pass
class Publication(models.Model):
author = models.ForeignKey(Author)
class Book(Publication):
pass
class Magazine(Publication):
pass
私は特定の著者ですべてBook
とMagazine
オブジェクトを検索します。
# Both of these return Publication objects, not Book/Magazine objects
Author.objects.get(pk=1).publication_set
Publication.objects.get(author_pk=1)
特定の著者で、子クラスのすべてのインスタンスを取得する方法があります:Author
への外部キーは、親クラスPublication
上にあるので、クエリで私の試みはすべてPublication
のオブジェクトではなく、子クラスを返しますBook.objects.get(author_pk=1)
のようなすべての子クラスのクエリを手動で実行する必要はありません(実際には、2つ以上の子クラスがあります)。
、使用しているDjangoのバージョンを明記してください。 – wim
@wim Django 1.10 – Flash