Tortoise-orm 使用(一)

创建表

项目基于Vue3.0, FastAPI的模板管理系统,从网上找了各种资源去实践,现在将总结发出来,分享给大家,希望帮助大家少走些弯路。

准备工作

# tortoise-orm

pip install tortoise-orm

# MySQL

pip install tortoise-orm[asyncmy]

# 迁移工具

pip install aerich

1. 项目目录

2. 准备好数据库MySQL

3. 连接参数

#settings.py

TORTOISE_ORM = {
    "connections": {"default": "mysql://root:123456@127.0.0.1:3306/printer"},
    "apps": {
        "models": {
            "models": ["aerich.models", "models"],
            "default_connection": "default",
        },
    },
}


# 须添加"aerich.models" 后者"models"是上述models.py文件的路径
# "connections" 相信大家都能看得懂

4. 简单定义一下User表

#models.py

from tortoise import fields
from tortoise.models import Model


class User(Model):
    id = fields.IntField(pk=True)
    username = fields.CharField(max_length=50, unique=True)
    password = fields.CharField(max_length=50, unique=True)
    email = fields.CharField(max_length=100, unique=True)

    def __str__(self):
        return self.username

运行命令

1. 初始化

# 执行aerich初始化

aerich init -t settings.TORTOISE_ORM

# 命令行返回

Success create migrate location ./migrations
Success write config to pyproject.toml

# 数据库初始化

aerich init-db

# 命令行返回

Success create app migrate location migrations\models
Success generate schema for app "models"

2. 表创建成功

表跟新

在开发过程中涉及到表的修改,models.py代码修改后,执行命令

# 修改model类,重新生成迁移文件

aerich migrate

# 执行修改

aerich upgrade

Success migrate 1_20240116132755_update.py

# 回退修改

aerich downgrade

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/327569.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据库结构文档生成(通过PDMReader)

将数据库的表结构生成数据库结构文档有三种方法: 1、通过 PDMReader生成文档; 2、使用EZDML 工具生成(下载地址:EZDML - 下载); 3、使用SCREW 插件,通过java代码生成。 本文章先介绍通过PDM…

ZABBIX根据IP列表,主机描述,或IP子网批量创建主机的维护任务

有时候被ZABBIX监控的主机可能需要关机重启等维护操作,为了在此期间不触发告警,需要创建主机的维护任务,以免出现误告警 ZABBIX本身有这个API可供调用(不同版本细节略有不同,本次用的ZABBIX6.*),实现批量化建立主机的维护任务 无论哪种方式(IP列表,主机描述,或IP子网)创建维护…

Cellinx NVT 摄像机 UAC.cgi 任意用户创建漏洞复现

0x01 产品简介 Cellinx NVT IP PTZ是韩国Cellinx公司的一个摄像机设备。 0x02 漏洞概述 Cellinx NVT 摄像机 UAC.cgi接口处存在任意用户创建漏洞,未经身份认证的攻击者可利用此接口创建管理员账户,登录后台可查看敏感信息,使系统处于极不安全的状态。 0x03 复现环境 FO…

Nas群晖中搭建自己的图片库

1、在套件中心下载synology phtotos 2、点击打开,右上角头像设置中配置 3、这样子就是已经完成了,可以把你的图片进行上传 4、嫌弃上传麻烦的,可以直接去根目录复制粘贴 5、访问 这样子就可以直接访问了

Rust-析构函数

所谓“析构函数”(destructor),是与“构造函数”(constructor)相对应的概念。 “构造函数”是对象被创建的时候调用的函数,“析构函数”是对象被销毁的时候调用的函数。 Rust中没有统一的“构造函数”这个语法,对象的构造是直接对每个成员进行初始化完…

系列十一、Spring Security登录接口兼容JSON格式登录

一、Spring Security登录接口兼容JSON格式登录 1.1、概述 前后端分离中,前端和后端的数据交互通常是JSON格式,而Spring Security的登录接口默认支持的是form-data或者x-www-form-urlencoded的,如下所示: 那么如何让Spring Securi…

面试狗面试指南系列(1/5): 做好面试需要的一切准备

面试狗,是一群叛逆的程序员开发的远程面试助手,已经帮1000朋友顺利拿到offer! 它可以: 实时识别面试官语音,自动提取关键问题最先进的GPT4加持,按照方便快速阅读的方式高效组织结果,快速展示重…

洗地机哪个品牌的好用?目前口碑最好的洗地机

近年来,随着科技的不断进步和人们对生活质量要求的提高,洗地机已经成为家庭和商业清洁的必备工具之一。但是随之而来的问题是,市面上的洗地机品牌繁多,质量参差不齐,消费者很难在众多选择中找到一款质量好又耐用的产品…

计算机毕业设计 基于Java的手机销售网站的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

2024创业方向,必火的创业项目推荐

有人说我辛辛苦苦的上班还这么穷,这个世界太不公平,但是我要跟你说一个更扎心的事实啊,就是因为你兢兢业业的上班,所以你才这么穷。那么就有人要说了,不上班我能干嘛?这就是大多数人的一个思维,…

阿里巴巴的第二代通义千问可能即将发布:Qwen2相关信息已经提交HuggingFace官方的transformers库

本文来自DataLearnerAI官方网站:阿里巴巴的第二代通义千问可能即将发布:Qwen2相关信息已经提交HuggingFace官方的transformers库 | 数据学习者官方网站(Datalearner) 通义千问是阿里巴巴开源的一系列大语言模型。Qwen系列大模型最高参数量720亿&#xf…

在linux环境下安装lnmp

lnmp官网:https://lnmp.org 一:lnmp安装 参考:https://lnmp.org/install.html 1:下载lnmp安装包 wget https://soft.lnmp.com/lnmp/lnmp2.0.tar.gz -O lnmp2.0.tar.gz 2:解压lnmp安装包 tar zxf lnmp2.0.tar.gz …

JMeter 源码解读HashTree

背景: 在 JMeter 中,HashTree 是一种用于组织和管理测试计划元素的数据结构。它是一个基于 LinkedHashMap 的特殊实现,提供了一种层次结构的方式来存储和表示测试计划的各个组件。 HashTree 的特点如下: 层次结构:Ha…

响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 第1章 HTML5+CSS3初体验 项目1-2 许愿墙

项目展示 在生活中,许愿墙是一种承载愿望的实体,来源于“许愿树”的习俗。后来人们逐渐改变观念,开始将愿望写在小纸片上,然后贴在墙上,这就是许愿墙。随着互联网的发展,人们又将许愿墙搬到了网络上&#…

hcip-4

ISIS:中央系统到中央系统 基于OSI模型开发; 集成的ISIS,基于OSI开发后转移到TCP/IP模型执行; 故集成的ISIS既可以在OSI模型,也可在TCP/IP模型工作; ISIS是在ISP中使用的一个IGP协议,其归属于无类别链路状…

系统性学习vue-vue核心

做了三年前端,但很多系统性的知识没有学习 还是从头系统学习一遍吧 课程是b站的Vue2.0Vue3.0课程 后续还会学习的如下,就重新开一篇了,不然太长,之后放链接 vue组件化编程 vue-cli 脚手架 vue中的ajax vue-router vuex element-ui vue3 老师推荐的vscode针对vue的插件: Vue 3…

Invalid bound statement (not found)(xml文件创建问题)

目录 解决方法: 这边大致讲一下我的经历,不想看的直接点目录去解决方法 今天照着老师视频学习,中间老师在使用动态SQL时,直接复制了一份,我想这么简单的一个,我直接从网上找内容创建一个好了,…

新能源汽车智慧充电桩方案:如何实现充电停车智慧化管理?

一、方案概述 基于新能源汽车充电桩的监管运营等需求,安徽旭帆科技携手合作伙伴触角云共同打造“智能充电设备+云平台+APP小程序”一体化完整的解决方案,为充电桩车位场所提供精细化管理车位的解决办法,解决燃油车恶意…

推荐几款常用测试数据自动生成工具(适用自动化测试、性能测试)

一、前言 在软件测试中,测试数据是测试用例的基础,对测试结果的准确性和全面性有着至关重要的影响。因此,在进行软件测试时,需要生成测试数据以满足测试场景和要求。本文将介绍如何利用测试数据生成工具来快速生成大量的测试数据。…

【RTOS】快速体验FreeRTOS所有常用API(11)打印空闲栈、CPU占用比

目录 十一、调试11.1 打印任务空闲栈11.2 打印所有任务栈信息11.3 CPU占用比11.4 空闲任务和钩子函数 十一、调试 该部分在上份代码基础上修改得来,代码下载链接: https://wwzr.lanzout.com/in63o1lauwwh 密码:9bhf 该代码尽量做到最简,不添加…
最新文章