Python Flask SQLAlchemy声明性和特定于MySQL的数据类型
我已经有了一个MySQL数据库,其中有许多列是用MySQL特定的列类型(MEDIUMINT、TINYINT等)定义的,即使列类型属于标准SQL数据类型,有时也会声明为未签名 现在我正在编写一个Flask应用程序,以提供一个API,以各种方式访问DB。 使用纯SQLAlchemy,我将从SQLAlchemy.dialogs.mysql导入特定的数据类型定义,如:Python Flask SQLAlchemy声明性和特定于MySQL的数据类型,python,mysql,database,flask,flask-sqlalchemy,Python,Mysql,Database,Flask,Flask Sqlalchemy,我已经有了一个MySQL数据库,其中有许多列是用MySQL特定的列类型(MEDIUMINT、TINYINT等)定义的,即使列类型属于标准SQL数据类型,有时也会声明为未签名 现在我正在编写一个Flask应用程序,以提供一个API,以各种方式访问DB。 使用纯SQLAlchemy,我将从SQLAlchemy.dialogs.mysql导入特定的数据类型定义,如: from sqlalchemy import Column from sqlalchemy.ext.declarative import
from sqlalchemy import Column
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.dialects.mysql import MEDIUMINT, TINYINT
Base = declarative_base()
class User(Base):
id = Column(MEDIUMINT(unsigned=True), primary_key=True)
但我被告知要使用炼金术,所以我宣布我的表如下
from flask.ext.sqlalchemy import SQLAlchemy
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer**(???)**, primary_key=True)
我怎样才能告诉Flask SQLAlchemy列id是一个MySQL MEDIUMINT,并且是未签名的?作为“db.Column”的第一个参数,我是否可以传递一个不是从“db.Something”而是从sqlalchemy.dialogs.mysql导入的数据类型定义,这将是一个很好的实践(在我看来不是)
谢谢;) 有什么问题吗
from flask.ext.sqlalchemy import SQLAlchemy
from sqlalchemy import Column
from sqlalchemy.dialects.mysql import MEDIUMINT, TINYINT
db = SQLAlchemy(app)
class User(db.Model):
id = Column(MEDIUMINT(unsigned=True), primary_key=True)
你是对的,我尝试过这种方法,但我还没有遇到任何麻烦,只是我觉得这样混合东西有点难看,但据我所知,炼金术还没有提供更清洁的解决方案。谢谢。什么
server\u默认值
适用于TINYINT
server\u default=1
说应该是类型“”或“”或“”,得到了“”
得到了<代码>'1'(即基串
)可以工作。我猜int
类型不起作用,因为它是一个小东西