在哪里可以找到Flask SQLAlchemy Column类型和选项的列表?

时间:2015-05-09 08:35:18

标签: python sqlalchemy flask-sqlalchemy

我希望"类型"在这里正确使用。也许我的意思是"论点"。随意编辑。

我正在使用带有SQLAlchemy的Flask模型创建数据库,在哪里可以找到所有不同可能的Column参数的列表,例如:

account_id = db.Column(db.Integer, nullable=False)

我知道一些明显的类型,例如db.Integerdb.String。但是,我似乎无法在SQL Alchemy文档或Flask文档中找到创建db.Column实例的所有可能参数的列表。我看错了吗?

有没有办法区分像db.Integer这样的东西到tinyint,bigint等?

对于选项,例如nullable=False,我在创建db.Column实例时找不到所有可能选项的良好列表。

3 个答案:

答案 0 :(得分:33)

我认为您正在寻找文档中的Column and Data Types页面。 一点HTML解析给出:

  • BIGINT
  • BINARY
  • BLOB
  • BOOLEAN
  • 的BigInteger
  • 布尔
  • CHAR
  • CLOB
  • Concatenable
  • DATE
  • DATETIME
  • DECIMAL
  • 日期
  • 日期时间
  • 枚举
  • FLOAT
  • INT
  • INTEGER
  • 整数
  • 间隔
  • LargeBinary
  • 使用MatchType
  • NCHAR
  • NVARCHAR
  • 数字
  • PickleType
  • REAL
  • SMALLINT
  • 的SchemaType
  • SmallInteger
  • 字符串
  • TEXT
  • TIME
  • 时间戳
  • 文本
  • 时间
  • TypeDecorator
  • TypeEnginBases
  • TypeEngine
  • 的Unicode
  • VARBINARY
  • VARCHAR

答案 1 :(得分:18)

通过感官直接感知文档,但如果您仍想在命令行中看到它,请尝试使用某个IDE,或者只需键入以下内容: (通常我们的db只是SQLALCHEMY()

>>>import sqlalchemy
>>>dir(sqlalchemy.sql.sqltypes)
   ['BIGINT',
'BINARY',
'BLOB',
'BOOLEAN',
'BOOLEANTYPE',
'BigInteger',
'Binary',
'Boolean',
'CHAR',
'CLOB',
'Comparator',
'Concatenable',
'DATE',
'DATETIME',
'DECIMAL',
'Date',
'DateTime',
'Enum',
'FLOAT',
'Float',
'INT',
'INTEGER',
'INTEGERTYPE',
'Integer',
'Interval',
'LargeBinary',
'NCHAR',
'NULLTYPE',
'NUMERIC',
'NVARCHAR',
'NullType',
'Numeric',
'PickleType',
'REAL',
'SMALLINT',
'STRINGTYPE',
'SchemaEventTarget',
'SchemaType',
'SmallInteger',
'String',
'TEXT',
'TIME',
'TIMESTAMP',
'Text',
'Time',
'TypeDecorator',
'TypeEngine',
'Unicode',
'UnicodeText',
'VARBINARY',
'VARCHAR',
'_Binary',
'_DateAffinity',
'_DefaultColumnComparator',
'__builtins__',
'__doc__',
'__file__',
'__name__',
'__package__',
'_bind_or_error',
'_defer_name',
'_type_map',
'codecs',
'decimal',
'dt',
'event',
'exc',
'operators',
'pickle',
'processors',
'quoted_name',
'to_instance',
'type_api',
'type_coerce',
'util']

这些可能就是你想要的。

答案 2 :(得分:0)

这是我在sqlalchemy / types.py中找到的

https://github.com/zzzeek/sqlalchemy/blob/master/lib/sqlalchemy/types.py