Djangoimportexport:如何使用外键导入数据,而外键没有键,但是有名称?

2024-03-28 17:04:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试设置django导入导出来处理存储在电子表格中的数据。 电子表格不包含外键作为id,而是包含相关对象的(也是唯一的)名称。 在我的数据库中,我将拥有Teachers的外键关系,他们在Schools工作,它们位于Cities。在

想象这就是模特(节选):

class School(models.Model):
    city = models.ForeignKey(City)
    name = models.CharField(max_length=200)


class Teacher(models.Model):
    school = models.ForeignKey(School)
    name = models.CharField(max_length=200)

教师的电子表格如下所示:

^{pr2}$

如何构建SchoolResource模型,以便在导入过程中接受名称而不是id?在

(我不能只从数据库中获取id,因为我的想法是,从一开始就只使用电子表格数据来启动数据库,而电子表格数据不包含任何id)


Tags: 数据name名称id数据库modelmodelslength
1条回答
网友
1楼 · 发布于 2024-03-28 17:04:33

ForeignKeyWidget接受可选的field参数,因此它在SchoolResource中如下所示:

school = fields.Field(column_name='school',
                      attribute='school', 
                      widget=ForeignKeyWidget(School, 'name'))

有关ForeignKeyWidget,请参阅文档。在

相关问题 更多 >