我是Django的新手,试图理解模型关系,下面是我的用例:
我有一个Creator对象,它可以在一个Category下创建多个Listing。Category可以有来自多个Creator的多个Creator。
创建者-在某个类别或多个类别下创建服务列表。
我试图找出正确的关系背后的思维过程,同时定义这种循环关系。哪一种模式应该优先考虑?创作者是第一种,第二种是第二种,最后是上市,创作者、类别和上市都属于多个关系,如果它们是如何联系的呢?
发布于 2020-06-01 05:59:45
您没有循环关系,这应该涵盖您的用例:
class Creator:
...
class Category:
...
class Listing:
creator = models.ForeignKey(Creator, on_delete=models.PROTECT)
category = models.ManyToMany(Category)我假设一个Listing可以处于多个Category下,如果每个列表只能有一个Category,那么第二个(category)关系也必须是一个ForeignKey。
发布于 2020-06-01 06:04:56
Django模型中有三种类型的关系。
一对1-当一个实体对其他实体是唯一的--示例:用户模型可以是与客户模型的一对一关系。每个客户都是唯一的用户。
多到多--当一个实体可以与许多其他实体建立关系时,反之亦然。示例:比萨饼和配料,比萨饼可以有许多配料,同样的加注也可以应用于各种比萨饼。
one to -在Django中也称为外键,当单个实体与许多其他实体相关时,反之亦然。
示例:您的用例适用于这里。创建者可以创建多个列表,但是一个列表只能映射到单个创建者,而不是多个创建者。
https://stackoverflow.com/questions/62126391
复制相似问题