【发布时间】:2022-04-26 15:06:49
【问题描述】:
这个SQL没问题
CREATE TABLE `calendar` (
`dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`d` date as (dt),
`t` time as (dt)
);
如何在 Flask-SQLAlchemy 中创建这个表?
class Calendar(db.Model):
__table_args__ = {'mysql_collate': 'utf8_general_ci', 'mysql_engine':'InnoDB'}
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
dt = db.Column(db.DateTime, nullable=False, server_default=db.func.current_timestamp())
d = ???
t = ???
db.create_all()
这是错误
class Calendar(db.Model):
__table_args__ = {'mysql_collate': 'utf8_general_ci', 'mysql_engine':'InnoDB'}
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
dt = db.Column(db.DateTime, nullable=False, server_default=db.func.current_timestamp())
d = db.ColumnProperty(db.Date,dt)
t = db.ColumnProperty(db.Time,dt)
【问题讨论】:
-
在我看来,当你已经有一个
DateTime时,你正试图拥有单独的Date和Time列;如果是这样的话,see here. -
是的,但我想使用生成的列来做到这一点