在Flask-SQLAlchemy的basic examples用法中定义数据模型,指定每列的类型和其他属性;但其中大部分似乎都是多余的,实际上似乎被忽略了。
例如,我似乎能够替换
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True)
email = db.Column(db.String(120), unique=True)
只有primary_key
class User(db.Model):
id = db.Column(primary_key=True)
username = db.Column()
email = db.Column()
或甚至不与基础数据库表对应的值
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.Integer, unique=False)
email = db.Column(db.Integer, unique=False)
并且仍然获得与数据库相对应的模型(如第一个示例中所指定的)。
现有数据库是否需要Column
的任何参数?如果没有,他们的目的是什么(特别是因为他们似乎被忽略了)?