私はdjangoでデータベース関係をモデル化しています。私は他の意見もあります。この関係は、2対多の関係のようなものです。例えば、患者は2人の医師、すなわち出席者と主任者を有することができる。医師には明らかに多くの患者がいる。このデータベース関係をどのようにモデル化しますか?
アプリケーションはどちらがどちらであるかを知る必要があります。さらに、ある患者の主治医が別の患者の主治医である場合がある。最後に、出席者とプライマリの両方がしばしば同じです。
まず、私は患者のテーブルから外科医のテーブルに2つの外来キーを考えていました。しかし、私はdjangoがこれを認めないと思います。さらに、2番目の考えでは、これは実際には多対多の関係です。
したがって、医者のタイプを患者に関連して維持しながら、この関係をdjangoとモデル化するにはどうすればよいですか?おそらく、医師のタイプを多対多関連テーブルに保存する必要がありますか?
おかげで、 ピート
うーん、これは面白いです。私は喜んで私が尋ねた。 djangoはrelated_nameをエラーで使用することを提案しました。 – slypete
はい - "related_name"がない場合、医師は "patient_set"逆引き関係を取得するためです。しかし、両方のフィールドが "patient_set"リバースリレーションを作成しようとするため、これによりエラーが発生します。同じモデルに対する外部キーがある場合は、この問題を回避するために「related_name」を指定する必要があります。 – mipadi
これにより、医師の患者リストを取得する際に重複が発生します。アプリケーションは組合を取る必要があります。 – slypete