我有一些表类,我将不断添加属性。我想编写一个函数uptodate(),如果没有任何列是mysql默认值,它将返回true,如果是,则返回false。例如,我的表如下所示:
class League(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(128), nullable=False)
numTeams = db.Column(db.Integer, nullable=False)
我加载league id 1,它已经填充了所有的值,所以它返回true。稍后,我更新了league,如下所示:
class League(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(128), nullable=False)
numTeams = db.Column(db.Integer, nullable=False)
firstYear = db.Column(db.Integer, nullable=False)
我运行migrate()和update()将新列添加到数据库中。现在,当我加载联赛id 1时,firstyear属性将是0,这是默认值,这意味着它需要更新。
1条答案
按热度按时间jm2pwxwz1#
我在sqlalchemy文档中找到了inspect()函数,它为我解决了这个问题。
文档