问题描述
我在做什么:
我正在读取csv,其中包含诸如城镇,宗教等数据。在csv中,它们是 text 值。但是,当然在我数据库的表中,它们是foreign_key
。因此,要插入这些值,我需要将这些 text 值映射到 id 。
可以像下面这样获得 id 。
const { townshipId } = await models.Township.findOne({
where: { name: township },attributes: ["townshipId"],raw: true,});
问题:
但是我认为的问题是,这些findOne
将以我的整个方法填充,因为除了小镇之外,我还有其他50个属性。
我在尝试什么
我正在尝试将township-name
传递给getter
方法,期望其等效的townshipId 。
我发现可以在续集中使用getter
and setter
。但是我找不到如何将参数传递给那些参数。
我的问题
我是否正在尝试导入csv数据的正确方法?如何在序列化中使用带有参数的getter(和setter)?
解决方法
也许如果您想从结果中排除列,您可以传递“属性”字段,例如:
attributes: { exclude: ['field1','field2'] }
这样你就不会在结果中显示列“field1”和“field2”。