🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
**## 模型定义** 定义一个模型类很简单,例如下面是一个`User`模型: ~~~~~~ class User(db.model): __tablename__ = 'users' # 定义列名 __mapper_args__ = {'column_prerfix': '_'} # 自动给所有的列添加一个前缀 id = Column('user_id', Integer, primary_key=True) class __str__(self): # print(object)的时候输出的,默认仅输出类名 return f'<{self.__class__.__module__}.{self.__class__.__name__}(id={self.id})>' ~~~~~~ >[warning]请确保你已经在数据库配置文件中配置了数据库连接信息,如不清楚请参考数据库一章 模型会自动对应数据表,模型类的命名规则是除去表前缀的数据表名称,采用驼峰法命名,并且首字母大写,例如: | 模型名 | 约定对应数据表(假设数据库的前缀定义是wait_) | | --- | --- | | User | wait\_user | | UserType | wait\_user\_type | <br/> ## **列定义** ~~~ // 数字 BigInteger // 长整型 Boolean // 布尔值 Enum // 枚举值 Float // 浮点类型 SmallInteger // 小整型 Integer(unsigned=False) // 整型 Interval // Interval类型 Numeric // 数字类型 // 字符 JSON //json类型 LargeBinary(length=None) // 二进制 PickleType // pickle类型 SchemaType // SchemaType String(50) // 字符串varchar类型,括号里表示长度 Text(length=None) // 文本类型 Unicode // Unicode类型 UnicodeText // UnicodeText类型 // 时间 Date // 日期时间 DateTime // daatetime.datetime()对象 Time // datetime.time()对象 TIMESTAMP // 时间戳 // 关联列属性 fullname = column_property(firstname + ' ' + lastname) // 表示这一列的值由指定的列值确定 // 列属性 primary_key=True // 是否是主键 comment='' // 注释,1.2版本才有的新特性 table_name.column_name.name // .name获取真实的列名 ~~~