SQLAlchemy:默认值的输出为无

3 python sqlalchemy

我正在使用 Flask 和 SQLAlchemy 制作一个网络应用程序。而我想要做的是在 web.xml 中提取默认值。但输出变为无。柱子是这样的。

n = db.Column(db.Integer, default=0)
Run Code Online (Sandbox Code Playgroud)

我也试过server_default='0'server_default=text('0')但这些输出也是无。我怎样才能解决这个问题?

dav*_*ing 5

默认值仅在发出 INSERT 或 UPDATE 后设置,即在您的会话刷新到数据库之后。如果您正在查看None的价值,yourobject.n那么我猜您还没有提交您的更改。

再次测试,但这次在创建对象实例后,添加并提交它:

>>> instance = MyDBModel()
>>> instance.n is None
True
>>> db.session.add(instance)
>>> db.session.commit()
>>> instance.n is None
False
>>> print(instance.n)
0
Run Code Online (Sandbox Code Playgroud)

如果出于某种原因需要在将更改刷新到数据库之前应用列默认值,请参阅涵盖该主题的问题。