2

私は制御できないレガシーデータベースを持っており、Django でそのモデルを作成しようとしています。複合主キーがあり、Django でそれを実現するために汚いハックを作成したくありません。一意ではない場合でも、フィールドの 1 つを主キーとして指定するだけの結果はどうなりますか。

データの簡単な読み取りを行うだけです。書き込みは含まれません。

4

1 に答える 1

1

あなたは文章を書くつもりはないので、私は文章がもたらす問題を完全に無視します。

ただし、読み取りの問題は、おそらく次のいずれかとして現れます。

  • primary_key指定した が一意でない場合、リンクされたモデル (ForeignKey および ManyToManyField) はルックアップに失敗します

  • Model.objects.get(pk=N)MultipleObjectsReturned主キーで検索しようとすると失敗します

  • 指定した主キーが一意でない場合、管理の一部のファセット (詳細ビューなど) が正しく機能しない可能性があります

私が思いもよらなかったこともあるでしょう。

標準的な django の動作を回避しようとする際の問題を処理できるdjango-compositekey のようなものを使用することを検討してください。

于 2013-03-19T03:23:25.407 に答える