简体   繁体   English

Sequelize模型中的双重关联

[英]Double association in Sequelize model

I have these associations 我有这些关联

// Tasks.js
sequelize.models.tasks.belongsTo(sequelize.models.users, {
    foreignKey: {
        type: DataTypes.INTEGER,
        field: 'ASSIGNEE',
        allowNull: true
    },
    as: 'assignee'
});

sequelize.models.tasks.belongsTo(sequelize.models.users, {
    foreignKey: {
        type: DataTypes.INTEGER,
        field: 'REPORTER',
        allowNull: true
    },
    as: 'reporter'
});

// Users.js
sequelize.models.users.hasMany(sequelize.models.tasks, { as: 'assignee' });
sequelize.models.users.hasMany(sequelize.models.tasks, { as: 'reporter' });

These association create two FK: ASSIGNEE and REPORTER. 这些关联创建两个FK:ASSIGNEE和REPORTER。 But it also creates another one: userId. 但是它还会创建另一个:userId。 I know this "userId" FK is default, but I don't want it. 我知道此“ userId” FK是默认设置,但我不想要它。 I want just these two that I described in my associations. 我只需要我在协会中描述的这两个。

How can I ask sequelize to ignore the default and create just what I was expecting? 我如何要求sequelize忽略默认值并创建我所期望的?

Change in users association 更改用户关联

sequelize.models.users.hasMany(sequelize.models.tasks, { as: 'assignee' ,foreignKey :'ASSIGNEE'});
sequelize.models.users.hasMany(sequelize.models.tasks, { as: 'reporter' ,foreignKey :'REPORTER'});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM