私は制御できないレガシーデータベースを持っており、Django でそのモデルを作成しようとしています。複合主キーがあり、Django でそれを実現するために汚いハックを作成したくありません。一意ではない場合でも、フィールドの 1 つを主キーとして指定するだけの結果はどうなりますか。
データの簡単な読み取りを行うだけです。書き込みは含まれません。
あなたは文章を書くつもりはないので、私は文章がもたらす問題を完全に無視します。
ただし、読み取りの問題は、おそらく次のいずれかとして現れます。
primary_key
指定した が一意でない場合、リンクされたモデル (ForeignKey および ManyToManyField) はルックアップに失敗します
Model.objects.get(pk=N)
MultipleObjectsReturned
主キーで検索しようとすると失敗します
指定した主キーが一意でない場合、管理の一部のファセット (詳細ビューなど) が正しく機能しない可能性があります
私が思いもよらなかったこともあるでしょう。
標準的な django の動作を回避しようとする際の問題を処理できるdjango-compositekey のようなものを使用することを検討してください。