gpt4 book ai didi

mysql - 在 sequelize 中将两个相同的外键作为两个不同的字段添加到单个模型

转载 作者:行者123 更新时间:2023-11-29 13:39:59 25 4
gpt4 key购买 nike

我正在使用 sequelize 为项目构建数据库结构。我为该项目创建了 friend 表。是否可以使用 sequelize 将用户外键设置为 friend 数据库表中的两个不同字段(friender,friended)。我知道我可以使用 Friend.hasOne(User) User.hasMany(Friend) 创建外键,但这只是将一个字段指定为外键。我想要两个与两个不同字段具有相同模型的外键。

这是我到目前为止的 Sequelize 数据库模型( friend ):

const seq = require('sequelize');
const database = require('../index');

const Friend = database.define(
"friend",
{
id:{
type:seq.INTEGER,
primaryKey:true,
autoIncrement:true
},
favorite:{
type:seq.STRING,
null:true,
validate:{
isUrl: true,
}
},
},{
createdAt: Sequelize.DATE,
updatedAt: Sequelize.DATE,
},
database.sync()
.then(() => {
console.log("Profile table is synced")
})
.catch((error) => {
console.log("caught error with Profile: " + error)
})
);

Friend.hasOne(User)
User.hasMany(Friends)

我希望 Friend.friender 成为 User 的外键我希望 Friend.friended 也成为 User

的外键

不知道该怎么做...

最佳答案

为什么不在 Friend 和 User 模型之间使用多对多关系,并允许通过自定义关系模型选择它们之间的关系类型?

https://docs.djangoproject.com/en/2.2/ref/models/fields/#django.db.models.ManyToManyField.through

关于mysql - 在 sequelize 中将两个相同的外键作为两个不同的字段添加到单个模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57021524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com