• 2024-09-26基于SqlAlchemy+Pydantic+FastApi的Python开发框架的路由处理
    在前面随笔《基于SqlAlchemy+Pydantic+FastApi的Python开发框架 》中介绍了框架总体的内容,其中主要的理念就是通过抽象接口的方式,实现代码的重用,提高开发效率。本篇随笔深入介绍一下FastApi的路由处理部分的内容,通过基类继承的方式,我们可以简化路由器(或者叫WebAPI控制器)的基础
  • 2024-09-24sqlalchemy的使用
    全称ObjectRelationalMapping(对象关系映射)。特点是操纵Python对象而不是SQL查询,也就是在代码层面考虑的是对象,而不是SQL,体现的是一种程序化思维,这样使得Python程序更加简洁易读。具体的实现方式是将数据库表转换为Python类,其中数据列作为属性,数据库操作作为方法。优点:简洁
  • 2024-09-24基于SqlAlchemy+Pydantic+FastApi的Python开发框架
    随着大环境的跨平台需求越来越多,对与开发环境和实际运行环境都有跨平台的需求,Python开发和部署上都是跨平台的,本篇随笔介绍基于SqlAlchemy+Pydantic+FastApi的Python开发框架的技术细节,以及一些技术总结。最近这几个月一直忙于Python开发框架的整合处理,将之前开发框架中很多重要
  • 2024-09-10pydantic 和 sqlalchemy 之间的模型转换
    字段dict#Assuming`session`isyourSQLAlchemysessionuser_instance=session.query(User).first()#ConverttoPydanticmodeldapter=TypeAdapter(User,UserPydantic)user_pydantic=adapter.to_pydantic(user_instance)#也可以UserPydantic.model_validate
  • 2024-09-05Python 之SQLAlchemy
    目录SQLAlchemy简明教程表的设计¶常见操作¶常见查询操作¶常见删除操作¶常见更新操作¶常见插入操作¶常见连表查询¶数据库migration¶SQLAlchemy简明教程SQLAlchemy是Python中常用的一个ORM,SQLAlchemy分成三部分:ORM,就是我们用类来表示数据库schema的那部分SQLAlchemyCo
  • 2024-09-05在 SQLAlchemy 中对数据异步处理的时候,获得关联集合的处理方式
    我们在定义SQLAlchemy对象模型的关系的时候,用到了relationship来标识关系,其中lazy的参数有多种不同的加载策略,本篇随笔介绍它们之间的关系,以及在异步处理中的一些代码案例。1、在SQLAlchemy中定义关系在SQLAlchemy中,relationship()函数用于定义表之间的关系(如one-to-ma
  • 2024-09-02Celery 任务:SQLAlchemy 会话处理指南
    最近在做AIRAG相关的项目功能,对于RAG需要生成一些文本处理的异步任务,使用到了Celery。今天就写写关于Celery任务的文章,SQLAlchemy的真实情况是:它的学习曲线比DjangoORM更陡峭需要一些示例代码你需要了解一些较低层次的概念有一些难以理解的文档如果您确实使用`SQLAlch
  • 2024-08-29使用Flask快速构建Web后端项目:Python、Flask、Mysql、Migrate、SQLAlchemy、Login、Session、Scheduler
    Flask是一个用Python编写的轻量级Web应用框架。它设计简单且易于扩展,如果与Jinja2模板引擎和WerkzeugWSGI工具集结合使用,Flask可以用来快速开发小型到中型的网站。Flask鼓励快速开发和简洁的代码,同时保持了扩展性和灵活性。本文旨在如何使用Flask及其相关组件快
  • 2024-08-28【爬虫实战】——利用bs4和sqlalchemy操作mysql数据库,实现网站多行数据表格爬取数据
    前言此篇接上一篇的内容,在其基础上爬取网站的多行表格数据,以及把数据写入到mysql数据库中目录一、定位表格查找元素二、提取数据三、写入mysql数据库四、附录一、定位表格查找元素首先打开网站,如图需要爬取多行数据的表格,利用查找元素定位,看图中分析得知我要爬取的是tr
  • 2024-08-26在 SQLAlchemy 中实现数据处理的时候,实现表自引用、多对多、联合查询,有序id等常见的一些经验总结
    有时候,我们在使用SQLAlchemy操作某些表的时候,需要使用外键关系来实现一对多或者多对多的关系引用,以及对多表的联合查询,有序列的uuid值或者自增id值,字符串的分拆等常见处理操作。1、在SQLAlchemy中定义具有嵌套children关系的表要在SQLAlchemy中定义具有嵌套children关系
  • 2024-08-22Python开发中,SQLAlchemy 的同步操作和异步操作封装,以及常规CRUD的处理。
    在我们使用Python来和数据库打交道中,SQLAlchemy是一个非常不错的ORM工具,通过它我们可以很好的实现多种数据库的统一模型接入,而且它提供了非常多的特性,通过结合不同的数据库驱动,我们可以实现同步或者异步的处理封装。1、SQLAlchemy介绍SQLAlchemy 是一个功能强大且灵活的Python
  • 2024-08-17SQLALchemy ORM 的关联关系之 ORM 中的多对多
    SQLALchemyORM的关联关系之ORM中的多对多场景示例实现多对多关系定义模型插入和查询数据总结在SQLAlchemyORM中,多对多(Many-to-Many)关联关系是一种常见的关系类型,它表示两个表中的行可以相互关联,即一个表中的多行可以与另一个表中的多行相
  • 2024-08-15fastapi 使用sqlalchemy
    一、简介fastapi常见的orm框架有以下几种:SQLAlchemy:这个比较常见,之前用flask开发web框架也用的SQLAlchemy。SQLModel:网上说是最适合fastapi的orm框架,官方也推荐这个,后续应该会发展不错,目前没有去踩坑。tortoise-orm:django的异步orm框架,与fastapi也兼容,没用过不做评价。 
  • 2024-08-06自动使用关系别名
    我有一个模式,其中包括自联接和多对多关系,如下所示:fromtypingimportList,Optionalfromsqlalchemyimportcreate_enginefromsqlalchemy.ormimport(aliased,DeclarativeBase,Session,Mapped,mapped_column,relationship,)fromsqlalch
  • 2024-08-03使用 SQLAlchemy 删除注册时出现错误
    我正在从与SQLAlchemy连接的数据库中删除一行,但收到​​以下错误:File"/app/.heroku/python/lib/python3.6/site-packages/sqlalchemy/util/compat.py",line178,inraise_2020-06-12T20:37:21.822757+00:00app[web.1]:raiseexception2020-06-12T20:37:21.822873+
  • 2024-07-31当密码包含特殊字符时写入连接字符串
    我正在将SQLalchemy用于Python项目,并且希望有一个整洁的连接字符串来访问我的数据库。例如:engine=create_engine('postgresql://user:pass@host/database')问题是我的密码包含一系列特殊字符,当我尝试连接时,这些字符被解释为分隔符。我意识到我可以使用engin
  • 2024-07-29sqlalchemy - 关系上的“验证”不会在分配事件上发出
    考虑以下使用sqlalchemy:fromsqlalchemy.ormimportvalidatesclassDeviceTestResult:__tablename__="device_test"passed:bool=mapped_column(default=False,init=False)failure_modes:Mapped[list['FailureMode']]=
  • 2024-07-28为什么在 SQLAlchemy 或 Pydantic 等流行包中的 __init__ 外部定义属性?
    我正在修改一个应用程序,尝试使用Pydantic作为我的应用程序模型,使用SQLAlchemy作为我的数据库模型。我有现有的类,我在__init__方法中定义了属性,就像我被教导的那样:classMeasure:def__init__(self,t_received:int,mac_addre
  • 2024-07-28Python SQLAlchemy 2.0 使用 dataclass_transform 非必需字段类型
    我刚刚在一个新项目上安装了SQLAlchemy2.0,我正在尝试使我的模型尽可能类型安全。通过使用@typing_extensions.dataclass_transform,我已经能够实现我想要实现的大部分目标类型检查,但是当前所有字段都被标记为不需要。例如:@typing_extensions.dataclass_tran
  • 2024-07-27无法在 Fast api 中使用 SQLAlchemy 删除子表
    下面我有三个表,它们之间有多对多的关系,问题是我无法删除数据库中的用户表:“表imagesmetadata上的约束imagesmetadata_user_id_fkey取决于表用户表令牌上的约束tokens_user_id_fkey取决于表usercannot删除表用户,因为其他对象依赖于它”删除令牌和图像元数据表后删除
  • 2024-07-27在Pandas中 SQL操作:SQLAlchemy和PyMySQL的区别
    SQLAlchemy和PyMySQL的区别1.SQLAlchemy和PyMySQL简介SQLAlchemy是Python编程语言下的一款开源软件。它提供了SQL工具包和对象关系映射器(ORM)来进行数据库操作。SQLAlchemy可以与多种数据库系统进行交互,包括MySQL、PostgreSQL、SQLite等。PyMySQL是Python编程语言下的一个纯Pyt
  • 2024-07-27Pycharm函数返回typehint触发sqlalchemy错误警告?
    这个Pycharm警告让我发疯:)defget_player_by_id(session:Session,player_id:int)->Player:player=session.query(Player).get(Player,player_id)returnplayer不返回任何类型提示警告defget_player_by_id(session:Session,player_id:int)->Player:pl
  • 2024-07-26我可以检查 sqlalchemy 查询对象来查找已连接的表吗?
    我正在尝试以编程方式构建一个搜索查询,为此,我要加入一个表。classUser(db.Model):id=db.Column(db.Integer(),primary_key=True)classTag(db.Model):id=db.Column(db.Integer(),primary_key=True)user_id=db.Column(db.Integer(),db.ForeignKey('u
  • 2024-07-26如果查询不在构造函数中,为什么 Sqlalchemy 会清理查询结果?
    我创建了一个类Result,它接受sqlalchemy语句,存储该语句,执行该语句,并存储执行结果。如果直接在__init__()中执行该语句,下面的脚本将产生预期的结果:1TestJE12TestJE2但是如果该语句在set_result()中执行,下面的脚本输出Nores
  • 2024-07-25SQLAlchemy CRUD 操作的多对多问题
    我已经处理SQLAlchemy中关联表的操作几天了,在创建person对象时遇到了问题。我正在尝试创建person对象。如果我将career_roles和genres字段保留为空列表,则该对象已成功创建。但是,如果我向这些字段添加整数值(主键),则会收到错误。crud操作asyncdefcreate(*,db_