Django:如何创建多个对象列表的实例并显示在管理页面上

时间:2016-07-08 00:14:50

标签: django django-models django-admin

所以说,例如,我有一个模特学生:

class product(models.Model):
    name = models.CharField(max_length=200)
    description = models.CharField(max_length = 200)
    price = models.PositiveIntegerField(default=0)

    def _str_(self):
        return self.name

我想创建一个推荐列表(包含产品对象的列表),允许超级用户从内置管理页面中选择产品。

我的问题是,创建一个单独的模型(class recommendation(models.Model))并使用ForeignKey正确处理这种情况?因为我不认为推荐模型,但我确实希望超级用户能够访问和操作管理页面上的列表。

提前致谢!

1 个答案:

答案 0 :(得分:0)

我认为在这种情况下,正确的方法是建立一个推荐模型,但具有多对多的关系。这将允许您将许多产品添加到特定建议中,同时允许在许多建议中使用产品。对此的设置将如下所示:

class Recommendation(models.Model):
    products = models.ManyToManyField('Product')

设置这样的模型还可以让您探索其他功能,例如添加推荐的所有者