使用多个外键将对象映射到Core Data,而不传递复杂对象,只需FK IT

时间:2013-07-02 22:51:12

标签: django rest restkit tastypie

我在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部署所有“production_line”及其包含的设备的列表。但是,每个设备都有一个“设备模型”,每个“设备模型”都有一个“制造商”的另一个foreign_key。

如果我列出了所有生产线及其设备,我是否已经为每台设备提供了完整的“EquipmentModel”对象,或者我可以以某种方式仅通过ID该模型仍然通过RestKIT映射在CoreData中建立关系?然后,我将获取所有制造商及其EquipmentModel。这比为每个设备及其各自的型号和制造商传递更快,因为它们将是模型和制造商的大量重复数据。因此,我的问题是如何通过传递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;

1 个答案:

答案 0 :(得分:0)

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