您的位置:首页 > 娱乐 > 八卦 > 企业营销策划专业品牌_web前端页面设计_最近营销热点_福州百度代理

企业营销策划专业品牌_web前端页面设计_最近营销热点_福州百度代理

2024/12/24 21:07:51 来源:https://blog.csdn.net/weixin_45014634/article/details/141418275  浏览:    关键词:企业营销策划专业品牌_web前端页面设计_最近营销热点_福州百度代理
企业营销策划专业品牌_web前端页面设计_最近营销热点_福州百度代理

Tortoise ORM:1.模型创建

ORM

对象关系映射(英语:Object Relational Mapping),表 -> 类; 列 -> 属性

Tortoise ORM

Tortoise ORM - Tortoise ORM v0.19.3 Documentation[1] Tortoise ORM 是一个受 Django 启发的易于使用的异步 ORM (对象关系映射器)。
安装

pip install tortoise-orm -i https://pypi.douban.com/simple/
  • 此篇文章参考:
    https://tortoise.github.io/models.html
    https://tortoise.github.io/fields.html

案列

表定义
from enum import IntEnum
from tortoise import models
from tortoise import fieldsclass AbstractModel(models.Model):# 主键,当表里所有属性都没设置pk时,默认生成一个IntField类型 id 的主键id = fields.UUIDField(pk=True)class Meta:# 抽象模型,不生成表abstract = Trueclass MixinTimeFiled:# 添加数据时间created = fields.DatetimeField(null=True, auto_now_add=True)# 修改数据时间modified = fields.DatetimeField(null=True, auto_now=True)class Gender(IntEnum):MAN = 0WOMAN = 1class UserModel(AbstractModel, MixinTimeFiled):# unique 是否唯一 max—length 数据长度 index 是否索引username = fields.CharField(max_length=20, description="描述", unique=True, index=True)# null 是否可以为空nickname = fields.CharField(max_length=30, description='nickname', null=True, default='777')# description 字段备注 ddl展示, 此处入库的为 0 or 1gender = fields.IntEnumField(Gender, description='sex', default=Gender.WOMAN)# max——digits 小输点左边最大位数,decimal——places 小数点右边最大位数balance = fields.DecimalField(max_digits=2, decimal_places=2, description='balance')is_admin = fields.BooleanField(default=False)job_info = fields.JSONField(default=dict)class Meta:# 自定义表名,不配置按照类名小写生成table = "tableName"table_description = "set table ddl desc"# 多列设置唯一复合所有unique_together = (('gender', 'balance'),)# 排序ordering = ('is_admin',)# 索引indexes = ('balance',)async def init():# Here we create a SQLite DB using file "db.sqlite3"#  also specify the app name of "models"#  which contain models from "app.models"await Tortoise.init(# 数据库连接db_url='sqlite://db.sqlite3',# 连接mysql pip install aiomysql# db_url='mysql://root:123456@127.0.0.1:3306/tortoise',# 指定管理的models,__main__ 🈯️当前文件的models.Modelmodules={'models': ['__main__']})# Generate the schemaawait Tortoise.generate_schemas()if __name__ == '__main__':from tortoise import Tortoise, run_asyncrun_async(init())
  • 生成的表

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com