Flask-Sqlalchemy—常用字段类型说明

Flask-sqlalchemy—常用字段类型说明

Flask-Sqlalchemy—常用字段类型说明_第1张图片

通用类型

String str 字符

Integer int 整型

Boolean bool 布尔型

Text str 可变大小的字符串类型

Date datetime.date

Time date time.time

DateTime datetime.datetime

Unicode unicode 可变长度的Unicode字符串类型

UnicodeText unicode 不限制长度

Enum 可以是任何类型的python对象 枚举

# 举例
import enum
class MyEnum(enum.Enum):
    one = 1
    two = 2
    three = 3

t = Table(
    'data', MetaData(),
    Column('value', Enum(MyEnum))
)

connection.execute(t.insert(), {"value": MyEnum.two})
assert connection.scalar(t.select()) is MyEnum.two

Float float(当asdecimal=True时,强制转换为decimal.Decimal对象) 浮点型

BigInteger int 整型

Interval datetime.timedelta 处理datetime.timedelta对象,时间计算

LargeBinary binary 大型二进制字节数据

Numeric 默认decimal.Decimalasdecimal=False时转float 固定精度数字的类型

PickleType pickle.dumps 序列化二进制字段

ARRAY 数组

附录

常用字段类型

Flask-Sqlalchemy—常用字段类型说明_第2张图片

常用列表项

Flask-Sqlalchemy—常用字段类型说明_第3张图片

常用关系选项

Flask-Sqlalchemy—常用字段类型说明_第4张图片
# 示例
class Role(db.Model):
    __tablename__ = 'roles'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64))
    user = db.relationship('User', backref='role')

    def __repr__(self):
        return '' % self.name


class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=True, index=True)
    email = db.Column(db.String(64), unique=True)
    pswd = db.Column(db.String(64))
    role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))

    def __repr__(self):
        return 'User:%s' % self.name

你可能感兴趣的:(#,python后端-Flask,#,orm-sqlalchemy)