は、私は2つの私のmodels.py
ファイル内のクラスがあります:私の変形例ではDjangoで自動生成されたManyToManyテーブルの冗長IDフィールドを削除するには?
class Person:
person_name = models.CharField(max_length = 50)
class Course:
course_name = models.CharField(max_length = 50)
course_person = models.ManyToManyField(Person)
を、一人で多くのコースを取り、1つのコースは、多くの人々、ひいては多対多で使用されています。
Djangoがテーブルを自動生成するようにすると、余分なID
フィールドが得られます。 自動生成されたperson_course
manytomanyテーブルを、person_id
とcourse_id
という2つの複合キーで構成したいとします。 注:どちらも自動生成され、自動インクリメントされたフィールドです。
また、ManyToManyクラスを定義しようとしましたが、キーワードthrough=
を使用してフィールドをリンクしようとしましたが、それは役に立ちませんでした。
私はGoogleに頼んだが、助けを借りずに済んだ。あなたには、いくつかのヒントを提供することができます中で、多くのいくつかの天才:)
ありがとうございます。さて、Djangoはそれをすることができないという制限があります。 Djangoは人生を楽にしようとします。私は自分のアプリケーションで使用するためにデータベースを一から作成していましたが、私はDjangoがすべてのことを自分自身でやり遂げようとは思っていません。少なくとも、冗長なIDフィールドを作成しないように、私はそれほど多くの制御を持っていません。 MySQLのワークベンチを使用してデータベースを視覚的に表現していますが、この余分なIDフィールドはうまく見えません。とにかく、それはアプリケーションのロジックに影響しないので、私はそれで生きることができます:) – shailenTJ