См. BelongsToMany в официальном do c
Цитата:
Если вам нужны дополнительные атрибуты в вашей таблице объединения, вы можете определить модель для объединения таблицу в sequelize, прежде чем вы определяете ассоциацию, а затем сообщите sequelize, что она должна использовать эту модель для присоединения, вместо создания новой:
class User extends Model {}
User.init({}, { sequelize, modelName: 'user' })
class Project extends Model {}
Project.init({}, { sequelize, modelName: 'project' })
class UserProjects extends Model {}
UserProjects.init({
status: DataTypes.STRING
}, { sequelize, modelName: 'userProjects' })
User.belongsToMany(Project, { through: UserProjects })
Project.belongsToMany(User, { through: UserProjects })
Чтобы добавить новый проект пользователю и установить его status, вы передаете дополнительные параметры через сеттер, который содержит атрибуты для таблицы соединения
user.addProject(project, { through: { status: 'started' }})