【问题标题】:How to implement Django multiple choice of foreign key如何实现Django的外键多选
【发布时间】:2013-10-25 07:26:43
【问题描述】:

这是场景。实际的对象名称进行了调整,但这就是想法。假设我有一个颜色模型

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 获取行。这是最好的方法吗?

【问题讨论】:

    标签: python database django model foreign-keys


    【解决方案1】:

    您将需要多对多关系。 一个用户可以有很多喜欢的颜色,一个颜色可以属于很多用户。

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

    color = models.ManyToManyField(User)

    【讨论】:

    • 哇,不知道我怎么错过了!谢谢!具有讽刺意味的是,它以与我相同的方式实现了多对多关系,但都是在幕后。
    猜你喜欢
    • 2011-10-10
    • 1970-01-01
    • 2013-05-19
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    • 2021-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多