0

基本モデルとそれを継承するモデルがあり、セットアップは次のようになります。

class Archive(models.Model):
    pub_date = models.DateField()


class ArchiveB(Archive):
    another_date = models.DateField()

子クラスから基本クラスにアクセスするにはどうすればよいですか? 例えば:

archiveb_instance = ArchiveB.objects.get(pk=5) 
base_instance = archiveb_instance.archive #This doesn't work.

ドキュメントによると、子で自動的に作成された 1 対 1 の関係にすぎないので、逆行できると考えました。これが必要な理由は、アーカイブへの外部キーを持つ 3 番目の非アーカイブ モデルがあるためです。3 番目のモデルは、特定のアーカイブ タイプだけでなく、任意のアーカイブに関連付けることができるため、アーカイブへの外部キーが必要です。

4

2 に答える 2

1

私はあなたが探しているかもしれないと思うarchiveb_instance.archive_ptr

于 2012-06-04T18:49:19.103 に答える
0

それらは同じ PK を共有するので、それを_id追加してフィールドに割り当てるだけです。

于 2012-06-04T18:22:00.283 に答える