一个模型可以拥有一个ForeignKey对象的列表吗?

6 浏览
0 Comments

一个模型可以拥有一个ForeignKey对象的列表吗?

我想在商店和类别之间建立关系,其中一个商店可能有多个类别,我在考虑是否可以在商店对象内创建一个类别对象的变量列表。或者有什么更好的方法吗?\n

class Category(models.Model):
    ...
class Shop(models.Model):
    categories = list(models.ForeignKey(Category,...))
    ...

0
0 Comments

Can a model have a list of ForeignKey objects?

在Django中,模型之间可以通过ForeignKey来建立关系。然而,有时候我们可能需要一个模型拥有多个ForeignKey对象的列表。那么,我们是否可以在模型中定义一个ForeignKey对象的列表呢?

答案是不能。在Django中,我们无法直接在模型中定义一个ForeignKey对象的列表。但是,我们可以使用ManyToManyField来实现类似的功能。

ManyToManyField是一种特殊的关系字段,它允许一个模型拥有多个其他模型的实例。通过ManyToManyField,我们可以在模型中定义一个与其他模型的多对多关系。

如果我们想要一个模型拥有多个ForeignKey对象的列表,可以考虑使用ManyToManyField来替代。通过在模型中定义ManyToManyField字段,我们可以实现模型与多个其他模型之间的多对多关系。

关于ManyToManyField的更多信息,可以参考Django官方文档中的相关章节:https://docs.djangoproject.com/en/2.2/topics/db/examples/many_to_many/

如果你在使用ManyToManyField时遇到了类似于"如何将ManyToManyField字段设置为可选的"的问题,你可以参考Stack Overflow上的相关讨论:How do I make many-to-many field optional in Django?

0