Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Flask SQLAlchemy声明性和特定于MySQL的数据类型_Python_Mysql_Database_Flask_Flask Sqlalchemy - Fatal编程技术网

Python Flask SQLAlchemy声明性和特定于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

我已经有了一个MySQL数据库,其中有许多列是用MySQL特定的列类型(MEDIUMINT、TINYINT等)定义的,即使列类型属于标准SQL数据类型,有时也会声明为未签名

现在我正在编写一个Flask应用程序,以提供一个API,以各种方式访问DB。 使用纯SQLAlchemy,我将从SQLAlchemy.dialogs.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)
但我被告知要使用炼金术,所以我宣布我的表如下

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
类型不起作用,因为它是一个小东西