1. ホーム
  2. パイソン

django の foreignkey における self の再帰的な使用法

2022-03-02 16:27:04

django の主キーは models.foreignkey('self') を使うことで自分自身の行と多対一の関係を持っているときに使うことができます。

例えば、自分の親ノードを保存するナビゲーションクラスを作りたいのですが、最初は次のように書きます。

この方法では、最初のデータを格納するときにはまだその主キーが作成されていないため、いずれにしても多対一の関係を形成することはできません。以下はその方法である。

抽象クラスAbstractNaviを定義し、NaviクラスがAbstractNaviを継承するようにします。