python – Flask-SQLAlchemy声明性和MySQL特定的数据类型
我有一个已经存在的MySQL数据库,其中有许多列定义了MySQL特定的列类型(MEDIUMINT,TINYINT等等),即使列类型属于标准SQL数据类型,有时也会声明为unsigned.
现在我正在编写一个Flask应用程序,以各种方式提供访问DB的API.使用普通的SQLAlchemy,我将从sqlalchemy.dialects.mysql导入特定的数据类型定义,如:
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)
但我被告知使用Flask-SQLAlchemy,所以我宣布我的桌子就像
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.dialects.mysql导入的数据类型定义,这将是一个很好的做法(在我看来不是这样)?
谢谢 😉