使用多个外键将对象映射到CoreData中,而不传递完整的对象,只传递FK ID



我在Django中有以下模型:

class Equipment(models.Model):
    model = models.ForeignKey(EquipmentModel)
    description = models.CharField(max_length=128, blank=True,verbose_name=_("Description"))
    serial = models.CharField(max_length=64, blank=False, unique=True,
    production_line = models.ForeignKey(ProductionLine, null=True, blank=True, verbose_name=_("Production line"))
    plant = models.ForeignKey(Plant, verbose_name=_("Plant"))

现在,我计划通过REST部署所有"生产线"及其包含的设备的列表。然而,每台设备都有一个"设备型号",每个"设备模型"都有另一个"制造商"的外键。

如果我列出了所有生产线及其设备的列表,我是否有,因为每个设备还提供了完整的"EquipmentModel"对象,或者我可以以某种方式只传递该模型的ID,并通过RestKIT映射在CoreData中建立关系?然后我会去拿所有的制造商和他们的设备型号。对于每个设备、其各自的型号和制造商,这将比通过快得多,因为它们将是型号和制造商的大量重复数据。因此,我的问题是,如何通过传递FK ID而不是整个有问题的对象来映射与RestKIT和CoreData的FK关系?

然而,我仍然希望有一个这样的模型:

@property (nonatomic, retain) NSString * serial;
@property (nonatomic, retain) PokaEquipmentModel *model;
@property (nonatomic, retain) PokaPlant *plant;
@property (nonatomic, retain) PokaProductionLine *productionLine;

您可以使用外键使用RestKit建立连接。它只要求提供要连接的对象的标识。如果两个对象都在同一响应中,则可能在JSON中;如果第二个对象是按需下载的,则可能部分在JSON中,部分在URL路径中。

最新更新