这个问题是关于您对关系数据库的看法和常用方法。 所以请不要投票给我。我真的需要解决这个问题。。一旦我得到答案,我就删除了这个问题。
我的服务器响应是这样的:
"groups":[
{
"id":"ea369ff6-cbc3-44b6-8eb6-b79e8db0145c",
"ingredients":[
{
"id":"f5126c1f-11a7-5ce5-a717-c6c86483058e",
"name":"First",
"position":1
},
{
"id":"dfcf217e-53dd-b06c-9f2b-084f8180ba1a",
"name":"Second",
"position":2
}
]
},
{
"id":"0fa91ada-1fe4-4d6d-b772-caae44758848",
"position":2,
"ingredients":[
{
"id":"9cacade2-92fe-bd5c-c84c-7c5fe36c8a5e",
"name":"Third",
"position":1
},
{
"id":"f5126c1f-11a7-5ce5-a717-c6c86483058e",
"name":"First",
"position":2
}
]
}
]
groups
。他们每个人都有独特的身份。group
都有一些ingredients
。它们是相同的类型First
的成分。这个成分在每个组中都相同 id
,这意味着它是同一个对象。但
First
成分具有不同的position
值,具体取决于它所在的位置。
问题是:
他们是否有相同的id
而他们不一样?这个问题的好方法是什么?我需要简单,快速和明确的答案。
不同意味着这与同一类型的对象一起是唯一的吗?如果我需要将其保存到核心数据或设备上的其他持久存储中,该怎么办?
非常感谢。
答案 0 :(得分:0)
您有Group
到Ingredient
之间的多个关系:每个Group
可以包含多个Ingredients
,每个Ingredient
可以属于多个Groups
position
{1}}。但是,您有一个额外的属性Group
取决于Ingredient
和ListItem
:它是关系的属性,而不是任何一个实体。< / p>
要在CoreData中对此进行建模,您必须添加第三个实体。我们称之为ListItem
。 position
将具有Group
属性,并且与Ingredient
和Group
之间存在一对一的关系。反向关系将为多个:每个ListItems
可以包含多个Ingredient
,每个ListItems
可以属于多个Group
:
解析服务器中的数据时,您可以为每个组id
创建一个唯一的Ingredient
对象,为每个成分id
创建唯一的ListItem
。然后创建Group
,指定正确的位置,并将其与相关Ingredient
对象和df.loc[(df['Year']==1980) & (df['Name'].str.contains("John")),'Year_2'] = 2010
对象的关系设置为。