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 回答