【问题标题】:insert an object for all my objects in a model django在模型 django 中为我的所有对象插入一个对象
【发布时间】:2020-04-20 01:01:47
【问题描述】:

我想将模型中的新对象添加到我的所有模型对象中

示例: 我有一个模型火车,里面有很多火车。 现在我有另一辆有 6 辆车的模型车。

我希望火车模型中的所有火车都包含 6 节车厢。

事实上,如果我想通过管理界面添加一辆新车(7 号车厢),我希望我的所有火车都拥有它,而不必选择所有火车。 另外,如果我想添加一列新火车,我应该直接将 6 节车厢放入其中,而无需进入模型车并添加新火车。

我已将我的模型声明如下:

class Train(models.Model):
    name = models.CharField(max_length=200) 

    def __str__(self):
        return self.name

class Car(models.Model):
    train = models.ManyToManyField(Train)
    name = models.CharField(max_length=200)

    def __str__(self):
        return self.name

我做不到,请帮帮我....

编辑:管理界面中实际结果的图片:

【问题讨论】:

  • 我认为您的模型根据您的要求是正确的。
  • 您好,感谢您的快速答复。不,实际上我必须从管理页面中选择模型车中的所有火车。如果我添加一列新火车,它里面没有车。我编辑了帖子,所以你可以看到我得到了什么。
  • 您能不能解释一下,您希望所有火车都在所有车厢中,所有车厢都在所有火车中。如果我错了,请纠正我。
  • 不,我希望 Train 中的每辆火车都有 Car 模型中的所有汽车,所以如果我添加一列新火车,它将直接包含所有汽车。所有的火车都有相同的车厢。
  • 如果它可以帮助您理解,我们正在制作火车。是连锁生产。所有的火车都是相同的,因此它们具有相同的组件。但是如果我们收到一个新订单,我们必须制造更多的火车,我想从管理页面添加一个新的火车,火车的所有组件都应该添加到这个新的火车上。如果你明白我的意思

标签: python django django-models


【解决方案1】:

考虑一下我的想法,即添加额外的查询以在查看时获取所有汽车。

模型应该看起来像

class Car(models.Model):
name = models.CharField(max_length=200)

def __str__(self):
return self.name


class Train(models.Model):
name = models.CharField(max_length=200)

def __str__(self):
return self.name

【讨论】:

    猜你喜欢
    • 2020-12-21
    • 2011-07-01
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-06
    • 2011-01-15
    相关资源
    最近更新 更多