mysql外键名称定义_sqlalchemy的model中定义的外键名和对应的数据库中定义的外键名必须一样吗?...

比如说,

class TeachingTrains(Base):

__tablename__ = 'teaching_trains'

train_id = Column(Integer, primary_key=True)

name = Column(String(40), default='')

user_id = Column(ForeignKey('user.user_id'), nullable=False, index=True)

created = Column(DateTime, nullable=False, default=datetime.now)

update_user_id = Column(ForeignKey('user.user_id'), index=True,

default=None)

updated = Column(DateTime, nullable=False, default=datetime.now)

deleted = Column(DateTime, default=None)

update_user = relationship(

'User', primaryjoin='TeachingTrains.update_user_id == User.user_id')

user = relationship(

'User', primaryjoin='TeachingTrains.user_id == User.user_id')

这个model中定义的外键,和

CREATE TABLE `teaching_trains` (

`train_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',

`name` varchar(40) NOT NULL DEFAULT '' COMMENT '名称',

`user_id` int(11) NOT NULL COMMENT '创建人ID',

`created` datetime NOT NULL COMMENT '创建时间',

`update_user_id` int(11) DEFAULT NULL COMMENT '修改人ID',

`updated` datetime DEFAULT NULL COMMENT '修改时间',

`deleted` datetime DEFAULT NULL COMMENT '删除时间',

`correlation_lesson` varchar(40) DEFAULT '[]',

`example_video` varchar(40) DEFAULT '' COMMENT '练习示范视频',

PRIMARY KEY (`train_id`),

KEY `lessons_user_id` (`user_id`),

KEY `lessons_update_user_id` (`update_user_id`),

CONSTRAINT `lessons_update_user_id` FOREIGN KEY (`update_user_id`) REFERENCES `user` (`user_id`),

CONSTRAINT `lessons_user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`)

) ENGINE=InnoDB AUTO_INCREMENT=20046 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='练习信息';

这个表中的外键名,有关联吗?

是否是model中只要指定清楚了字段,表中也指定了同样的字段就行了,外键名无所谓?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值