2015-05-09 70 views
4

我希望在這裏正確使用「類型」一詞。也許我的意思是「爭論」。隨意編輯。我在哪裏可以找到Flask SQLAlchemy列類型和選項的列表?

我創建使用模型使用燒瓶SQLAlchemy的數據庫,我在哪裏可以找到的所有可能的不同列的參數如表:

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

我知道有一些明顯的類型如db.Integerdb.String。不過,我似乎無法在SQL Alchemy文檔或Flask文檔中找到創建db.Column實例的所有可能參數的列表。我看錯了嗎?

有沒有將db.Integer之類的東西區分爲tinyint,bigint等的方法?

至於選項,例如nullable=False,在創建db.Column實例時,我無法找到所有可能選項的良好列表。

回答

12

我認爲您正在尋找文檔中的Column and Data Types頁面。 一點HTML解析,得出:

  • BIGINT
  • BINARY
  • BLOB
  • BOOLEAN
  • 的BigInteger
  • 布爾
  • CHAR
  • CLOB
  • Concatenable
  • DATE
  • DATETIME
  • 十進制
  • 日期
  • 日期時間
  • 枚舉
  • FLOAT
  • 浮動
  • INT
  • INTEGER
  • 整數
  • 間隔
  • LargeBinary
  • 使用MatchType
  • NCHAR
  • NVARCHAR
  • 數字
  • PickleType
  • REAL
  • SMALLINT
  • 的SchemaType
  • SmallInteger
  • 字符串
  • TEXT
  • TIME
  • TIMESTAMP
  • 文本
  • 時間
  • TypeDecorator
  • TypeEnginBases
  • TypeEngine
  • 統一
  • VARBINARY
  • VARCHAR
+0

啊。我想我會監視那裏的選項,因爲我直接在'db後面查看。Column',這很愚蠢,因爲'db'只是我用來初始化數據庫的名稱,或者你說的那樣...謝謝! – k4kuz0

+0

在你的鏈接頁面,在小整數它有這樣的: '__init __(長度=無,整理=無,convert_unicode =假unicode_error =無,_warn_on_bytestring = FALSE)' 能否因此,我的結論是,如果我輸入'db.Column(db.SmallInteger,length = 5)',我定義了一個長度爲5的小整數,然後? – k4kuz0

+0

我認爲你應該嘗試在數據庫中看到結果。 –

11

文檔是通過感官直接感知,但如果你仍然想看到它在命令行中,嘗試一些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'] 

這些可能是你想要的。

+0

我認爲你應該省略'__file __''和'_DateAffinity''非常類型' –

+0

非常感謝!獲取信息的好方法... – k4kuz0

+0

一個簡單的問題。由於我可以在那裏看到'Tinyinteger'不存在,因此我應該如何使用'SmallInteger'作爲長度爲3的整數? – k4kuz0

相關問題