我正在使用SQLAlchemy for Flask创建一些模型。问题是,几乎所有的列都需要nullable=False
,所以我正在寻找一种方法来在创建列时将此选项设置为默认值。当然,我可以手动添加它们(作为Vim练习),但我今天不想这样做。作为参考,这是我的设置(models.py
)的样子:
from flask.ext.sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), nullable=False)
字符串
还有更多。有没有一个简单的方法来做到这一点?
先谢了。
3条答案
按热度按时间1cosmwyk1#
只需创建一个 Package 器,
字符串
按照注解中的建议使用
functools.partial
型
yruzcnhs2#
由于
Column
是一个类,根据您的用例,子类化可能更具扩展性。字符串
另外请注意,如果未设置,则接受的答案将
nullable
设置为True
。正确答案为False
。qzwqbdag3#
接受的答案为
nullable = True
列创建了一个名为NullColumn
的 Package 器,这已经是Column
在默认情况下所做的。问题要求在创建列时将nullable = False
(而不是True
)设置为默认值。字符串
此函数默认返回
Column
和nullable = False
,如果需要,也可以用nullable = True
覆盖(与functools.partial
解决方案不同)。