0

これがシナリオです。実際のオブジェクト名は微調整されていますが、これがアイデアです。カラーモデルがあるとしましょう

class Color(models.Model):
    name = models.CharField(max_length=20)

また、ユーザーモデルもあります

class User(models.Model):

私がやりたいことは、ユーザーがお気に入りとして複数の色を選択できるようにすることです。シングル ユーザー モデルに複数の色を適切に保存する方法はありますか?

私が持っている最良のアイデアは、次のような追加のモデルを持つことです。

class UserMCColor(models.Model):
    user = models.ForeignKey('User')
    color = models.ForeignKey('color')

そして、選択したお気に入りの色ごとにそのテーブルにエントリを追加し、ユーザー ID に基づいて行を取得します。これが最善の方法ですか?

4

1 に答える 1

6

多対多の関係が必要になります。ユーザーは多くのお気に入りの色を持つことができ、色は多くのユーザーに属することができます。

https://docs.djangoproject.com/en/1.4/topics/db/examples/many_to_many/

color = models.ManyToManyField(User)

于 2013-10-17T00:47:09.517 に答える