【问题标题】:How to add a model field to a django model如何将模型字段添加到 django 模型
【发布时间】:2020-12-02 01:10:19
【问题描述】:

我有一个应用程序,其中有很多用户,每个用户都有一个股票监视列表。我知道我可以使用多对多关系来对此进行建模,因为每个用户将拥有多只股票,反之亦然,但它在管理员中变得非常混乱(因为我有一个股票列表,我必须点击每一个来找出哪个它所属的用户)。

class Stocks(models.Model):
    user = models.ManyToManyField(User)
    name = models.CharField(max_length = 30)    

    def __str__(self):
        return self.name

我想知道是否有任何方法可以设置它,以便当我点击单个用户时,我可以看到他们在观察列表中拥有的所有股票。我最初认为可能有一种方法可以在包含他们所有股票的用户模型中添加一个字段。

【问题讨论】:

    标签: python django django-models


    【解决方案1】:

    当您选择用户的投资组合时,您可以看到该用户持有的所有股票。我真的不明白你为什么要在你的股票模型上为用户使用“多对多”。每个用户都应该有 1 个投资组合。每个投资组合都可以有多个股票。让我知道这是否适合您。

    class Stocks(models.Model):      
        name = models.CharField(max_length = 30)    
    
    class Portfolio(models.Model):
        user = models.ForeignKey(User)
        stock = models.ManyToManyField(Stocks)
    

    【讨论】:

    • 我明白你在做什么,这是有道理的。但是据我了解,您的解决方案仍然没有提供从管理员单击用户并查看哪些投资组合属于他们的方法?我将不得不单击一个投资组合并查看它属于哪个用户。这有意义吗?
    猜你喜欢
    • 2018-11-01
    • 2013-07-14
    • 2018-05-25
    • 2018-08-03
    • 1970-01-01
    • 2021-08-30
    • 2011-06-11
    • 1970-01-01
    相关资源
    最近更新 更多