[英]Flask-SQLAlchemy declarative and MySQL specific data types
I have an already existing MySQL DB with many columns defined with MySQL specific column types (MEDIUMINT, TINYINT to mention a few), and even if the column type belongs to a standard SQL data type, sometimes is declared as unsigned. 我有一个已经存在的MySQL数据库,其中有许多列定义了MySQL特定的列类型(MEDIUMINT,TINYINT等等),即使列类型属于标准SQL数据类型,有时也会声明为unsigned。
Now I'm writing a Flask app to provide an API to access DB in various ways. 现在我正在编写一个Flask应用程序,以各种方式提供访问DB的API。 Using plain SQLAlchemy, I would import specific data types definitions from sqlalchemy.dialects.mysql, like:
使用普通的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)
But I was told to use Flask-SQLAlchemy, so I'm declaring my tables like 但我被告知使用Flask-SQLAlchemy,所以我宣布我的桌子就像
from flask.ext.sqlalchemy import SQLAlchemy
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer**(???)**, primary_key=True)
How can I tell Flask-SQLAlchemy that the column id is a MySQL MEDIUMINT and that is unsigned? 如何告诉Flask-SQLAlchemy列id是MySQL MEDIUMINT而且是无符号的? Can I pass, as the first argument to "db.Column" a data type definition imported not from "db.Something" but from sqlalchemy.dialects.mysql, and that would be a good practice (doesn't seem to me)?
我可以传递,作为“db.Column”的第一个参数,不是从“db.Something”而是从sqlalchemy.dialects.mysql导入的数据类型定义,这将是一个很好的做法(在我看来不是这样)?
Thank you ;) 谢谢 ;)
What's the problem with? 有什么问题?
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.