为什么我需要向Flask-SQLAlchemy的Column构造函数提供任何参数?

时间:2015-01-05 19:02:32

标签: python database flask-sqlalchemy

在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的任何参数?如果没有,他们的目的是什么(特别是因为他们似乎被忽略了)?

0 个答案:

没有答案