flask框架中sqlalchemy,对数据库里的表增加字段 10C

flask框架中sqlalchemy,对数据库里的表增加字段

1个回答

 Python SqlAlchemy动态添加数据表字段,具体如下。

我们知道使用SqlAlchemy创建类来映射数据表,类属性等于数据库字段,但有时候要在我们创建表的时候,不确定数据表字段数量,遇到这种情况,应如何解决?

先看常规用法

from sqlalchemy import create_engine,Column,String,Integer
class Mybase(Base):
  #表名
  __tablename__ ='mycars'
  #字段,属性
  myid=Column(String(50), primary_key=True)
  price=Column(String(50))
上述代码是创建mycars数据表,字段分别为myid和price,字段数量是固定,那么要实现动态创建数量不明确的字段,代码如下:


from sqlalchemy import *
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
engine = create_engine('mysql+pymysql://root:1234@localhost/test?charset=utf8', echo=False)
# engine = create_engine('sqlite:////MyDB.sqlite3', echo=False)
DBSession = sessionmaker(bind=engine)
session = DBSession()
Base = declarative_base()
#定义类
class table_class(Base):
  __tablename__ = 'aaa'
  id=Column(Integer,primary_key=True)

# 动态添加字段
for i in range(3):
  setattr(table_class,'Col'+str(i),(Column('Col'+str(i), String(50),comment='Col'+str(i))))
Base.metadata.create_all(engine)

# 添加数据
dt=table_class(Col1='aaa',Col2="aaa")
session.add(dt)
session.commit()
上述代码可看出,通过使用setattr()来实现动态添加字段,而且字段名可根据实际命名,comment是字段注释,这个只有SqlAlchemy 1.2版本才有的功能 (SqlAlchemy 1.2 安装 :pip install –pre sqlalchemy) 
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
在flask框架中使用SQLAlchemy
本博文带领大家使用 SQLAlchemy 连接 MySQL 数据库,并介绍了使用 SQLAlchemy 进行简单了 CURD 操作 1、SQLAlchemy是ORM(Object-Relational Mapping:对象关系映射)框架中最有名的一个框架 2、Flask-SQLAlchemy安装及设置 a、安装flask-sqlalchemy: $pip inst...
对数据库里数据的读入
如何让数据读入、读出数据库。 } //写入数据库 string strdatasource = null; string strconnection = null; strdatasource = Application.StartupPath + @"\..\datasource\tree.mdb"; strconnection="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +strdatasource; using (OleDbConnection thisconnection = new OleDbConnection(strconnection)) { //打开连接 thisconnection.Open(); //SQL命令 OleDbCommand thiscommand = thisconnection.CreateCommand(); //创建插入命令
对数据库里特殊字符的操作
在textbox里写的一些特殊字符(主要是理科里的单位、变量的代号)写到数据库里就变为?号了,数据库里该字段是nvarchar的。rn 这种问题怎么解决?
Flask框架SQLAlchemy数据库基本配置
1.ORM介绍 对象关系映射(Object Relational Mapping, ORM)是为解决面向对象与关系数据库存在的互不匹配的技术,本质上将数据从一种形式转换到另一种形式; 2.SQLAlchemy介绍 SQLAlchemy是Python编程语言下的一款开源软件。提供了SQL工具包及对象关系映射(ORM)工具。它可以提供和兼容众多数据库(如 SQLite、MySQL、Postgres、O...
flask使用sqlalchemy对数据库进行增删改查
目录 一、安装flask_sqlalchemy 二、配置 三、定义数据模型 四、对数据库进行操作 1、增 2、删 3、改 4、查 一、安装flask_sqlalchemy 由于flask对sqlalchemy进行了二次封装,所以不能直接使用sqlalchemy,而需要先安装flask_sqlalchemy 二、配置 导入模块,进行sqlalchemy的配置 ...
对数据库里的表进行精确查找的SQL语句用法
对数据库里的表进行精确查找的SQL语句能像以下这么用吗?如果想怎么用该怎么做?rn ::CoInitialize(NULL);rn _ConnectionPtr con(_uuidof(Connection));rn _RecordsetPtr rst(_uuidof(Recordset));rn _CommandPtr cmd(_uuidof(Command));rn con->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\example.mdb","","",adModeUnknown);rn rst->Open(_variant_t("[color=#FF00FF]select * from readermessage WHERE 读者姓名=张勇[/color]"),_variant_t((IDispatch*) con),adOpenDynamic,adLockOptimistic,-1);rn请大家看红颜色标的SQL语句。
Flask中SqlAlchemy的读写分离配置
缘起最近有个项目,需要提供web api出来,我很自然的选择了flask + sqlalchemy的搭配。逻辑实现上没有说的,但是到后面打算做读写分离的时候,突然发现 flask跟sqlalchemy都没有直接提供读写分离的配置。到时再最开始时使用Flask-SqlAlchemy的时候提到了有bind,但是使用起来不是很方便,不能满足我的要求。于是在网上搜索了一些,中文的资料也没有满足我的要求的。到
Flask框架——访问数据库-:SQLAlchemy简介
作者:chen_h 微信号 & QQ:862251340 微信公众号:coderpai Flask 框架学习目录 快速入门 路由:URL规则与视图函数 请求、应答与会话 :Request/Response/Session 模板:分离数据与视图 访问数据库 :SQLAlchemy简介 1. 概述 Flask框架没有像Django一样,预置ORM包。因此,我...
flask sqlalchemy非外键连接两个表
query = database.session().query(models.A, models.B) query = query.join(models.B, models.B.xx== models.A.xx).filter(models.a.xx== '20180615-20180621').filter(models.b.xx= 'haha') data = query.all() ...
flask sqlalchemy实现增删改查
近期看学习flask sqlalchemy,简单点说flask sqlalchemy是对sqlalchemy的封装,所以sqlalchemy支持的flask sqlalchemy也一样。
【Flask数据库】SQLAlchemy连接数据库
本套课程的目标是从初级开始,使用Flask框架开发企业级的项目。课程中不仅包含了Flask框架本身的知识点,更是站在全栈的角度讲解了如何结合Flask使用ajax完成异步调度,使用redis实现大型网站的缓存优化,使用celery实现邮件的异步发送等。加入了企业中必用的第三方服务如短信平台阿里大于,资源管理平台七牛云等。更多介绍请观看介绍视频!
Flask入门—数据库SQLalchemy
本笔记是居于黑马程序员的Flask快速入门视频记的笔记,因为感觉这是我找了一段时间后,发现最基础的入门教程,看完这个视频,再去看《Flask Web开发》那本书,可能会好理解了。 视频原地址: https://www.bilibili.com/video/av19817183/index_18.html?t=47 Flask+MySql实现用户登陆注册:https://blog.csd...
Flask Sqlalchemy数据库操作例程
Flask Sqlalchemy数据的创建,坑真是多,一不小心就吊坑里TAT, 不同的Python版本也有一些小的不同,哎 学了一天终于基本搞懂了  大部分时候出错都是因为跨文件引用变量出了问题,虽然都在同一个文件类变量名字是一样,但是实际上已经不是原来的变量,文件内的全局变量是不能跨文件共享的,我将User,Role单独放在一个文件类,db来自与主文件类的db,实际运行的时候主文件db和Rol
Flask Sqlalchemy 跨数据库操作
Flask项目中若需要连接多个数据库,可以这样操作 在配置中添加 SQLALCHEMY_BINDS,字典类型,可以添加多个 SQLALCHEMY_DATABASE_URI = 'mysql://root:root@localhost/db_one_name?charset=utf8mb4' SQLALCHEMY_BINDS = { 'bind_name': 'mysql://...
Flask数据库操作之SQLAlchemy操作(下)
Flask是一个使用Python编写的轻量级Web应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。
Flask Sqlalchemy 的级联删除配置
import sqlalchemy from MockServer import db class Base: id = db.Column(db.Integer, primary_key=True) created_at = db.Column(db.DateTime, default=sqlalchemy.func.now(), nullable=False) u...
Flask SQLAlchemy 脚本测试方法
app / db上下文 环境中测试脚本
表中增加字段
alter table 表名 add 字段 int(8) not null default '0' comment '当天包装产品总数'; alter table 表名 add 字段 int(8) not null default '0' comment '自动包装产品总数'; alter table 表名 add 字段 decimal(5,2) not null comment 'CSP 产品入...
SQL在表中增加字段
alter  table 表名  add (字段名 字段类型(字段长度),字段名 字段类型(字段长度)); 例如:alter  table students  add (starttime varchar2(8),endtime varchar2(8));  (在学生表students中增加开始时间和结束时间字段,类型均为varchar2,最大长度为8)...
在sqlalchemy中动态生成表
作为一个sqlalchemy的新手,完全是基于自身需求来学习它的。最近遇到一个问题:目前手头上有一大堆日志文件,按天组织在一起,每一天的日志文件单独放在同一个目录下。每个目录下的文件的个数不尽相同,有多有少,每个文件里面包含若干条记录,因此,每天的这些日志文件所包含的总记录条数也是不一样的,少则20多万条,多则6000多万条。为了处理方便,现在需要将这些记录全部放进数据库中。一共有47天,如果将这...
Python程序和Flask框架中使用SQLAlchemy的教程
SQLAlchemy为Python程序与SQL语句之间建立了映射,是Python操作数据库的利器,这里我们将来看在Python程序和Flask框架中使用SQLAlchemy的教程,需要的朋友可以参考下 ORM 江湖 曾几何时,程序员因为惧怕SQL而在开发的时候小心翼翼的写着sql,心中总是少不了恐慌,万一不小心sql语句出错,搞坏了数据库怎么办?又或者为了获取一些数据,什么
为数据窗口对象增加字段
我用的是PB8。从design->date source,选中要添加的字段后return,出现save query窗口,书上没说,应该在queries中填什么?
怎样在数据库里查找指定的表!
怎样在数据库里查找指定的表例如表 TEMP,判断数据库里是否有此表!
怎么样在数据库里建立一个表?
怎么样在数据库里建立一个表?rncreate table textprimarykey,name varchar<10>>rn这样对吗?rn为什么他总是报错:缺少或无效选项
Flask sqlalchemy 一对多的关系数据
前几天已经讲了flask sqlalchemy的创建方法,以及最基本的用法,今天来说一下一对多的关系 为了方便测试,使用的是上次修改的代码,本次演示的是course和student的关系,一个course可以对应多个student from config import db class Student(db.Model): __tablename__ = 'student' ...
flask通过sqlalchemy操作数据库
html文件 &amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html lang=&quot;en&quot;&amp;gt; &amp;lt;head&amp;gt; &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt; &amp;lt;title&amp;gt;book书店&amp;lt;/title&amp;gt; &amp;lt;/head&amp;gt; &amp;lt;body&amp;gt; &amp;l
Flask Web开发入门(七)之SQLAlchemy
上一章中,我们简单介绍了使用 SQLAlchemy ORM框架来访问MySQL数据库,本章我们将继续就此话题进行展开。 SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQ
Java对数据加密解密
java使用RSA对数据加密解密RSA加密算法是非对称加密算法的一种,因为加密密钥和解密密钥不同,可以将公钥公开出去,通过公钥加密数据。数据的加密方法有很多,只要破解的难度大于数据的重要性就可以。import java.nio.file.Files; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; impor...
对数据表格控件的几个问题?
1:stringgrid和drawgrid有和不同?stringgrid怎么没有列对齐的属性?rn2:请有经验的朋友说一下你使用后觉的很不错的表格控件!
Flask数据库操作之SQLAlchemy操作(上)
Flask是一个使用Python编写的轻量级Web应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。
flask sqlalchemy 数据迁移(创建)通用代码
1. 配置好 config.py 文件 basedir = os.path.abspath(os.path.dirname(__file__)) #数据库连接代码 SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'data.sqlite') #数据迁移文件保存位置 SQLALCHEMY_MIGRATE_REPO = ...
如何将测试库里的表和数据复制到正式库里
你好,我想将测试库(LSKWPOS@LEVISPOS_TEST)中的的表pos41_17和该表里的数据一同写到正式库LSKWPOS@LEVIPOS里,这个正式库是没有pos41_17 表的,请问下面语法哪里写错了? 请问该怎么做?rnrnselect * INTO LSKWPOS@LEVIPOS.pos41_17 from LSKWPOS@LEVISPOS_TEST.pos41_17;rnrn谢谢!
怎么对数据库里的记录进行手动排序?
增加一个字段记录序号吧,记录多的话,编辑手工输入序号,感觉也很麻烦rn有没有一个好的办法呢?
使用多线程对数据库里面的URL进行抓图,疑难问题!
我需要做的是,使用多线程对数据库里面的URL进行抓图,要求抓图流程不是打开网页-〉抓取屏幕-〉保存,而最好是直接从后台进行抓图,请问这样的东西有人做过吗?请赐教,谢谢啦!!!很着急!!!
jsp数据库分页对数据库里检索出来的数据进行分页
对数据库里检索出来的数据进行分页显示,采用jsp技术
如何对数据库里的内容进行全文替换?
比如,我把数据库data.mdb里的bbs表里的content里面的所有带有‘aaaaaaaaaa’的内容把‘aaaaaaaaaa’全部替换成‘bbbbbbbbbbb’rn请高手赐教!
可以对数据库里传来的图片进行放大么?
通过 blazeds 动态读来的图片,rn能使用标签 source="@Embed(‘xx.jpg’)"吗?rn能实现图像放大功能么?rn
如何对数据库里的时间做+5天的操作
[img=https://img-bbs.csdn.net/upload/201407/03/1404386497_233972.png][/img]rn如图想点击续借然后使左边的借书日期加上5天··求大神解答··最好能有代码模板rn新手求助在线等[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/28.gif][/img]rn[code=java]import java.util.Date;rnimport java.text.SimpleDateFormat;rnimport java.util.Calendar; rn rnpublic class TestDate rn public static void main(String[] args) throws Exception rn //新建一个日期格式化类的对象,该对象可以按照指定模板格式化字符串 rn SimpleDateFormat f=new SimpleDateFormat("yyyy-MM-dd");rn //新建一个日期对象,日期的值来源于字符串,由f将这个字符串格式化成为日期rn Date date1 =f.parse("2005-1-31");rn //新建一个日历对象。注意:类Calendar是抽象的要使用getInstance()实例化,或者实例化其子类rn Calendar calen = Calendar.getInstance();rn //日历对象默认的日期为当前日期,调用setTime设置该日历对象的日期为程序中指定的日期rn calen.setTime(date1);rn //将日历的"天"增加5rn calen.add(Calendar.DAY_OF_YEAR,5);rn //获取日历对象的时间,并赋给日期对象crn Date c=calen.getTime();rn //用f格式化c并输出rn System.out.println(f.format(c));rn rn [/code]rn这是我找的修改5天的代码但是不懂用··求指点
如何对数据库里提取的内容进行比较
String username = "***";rnString staff = rs.getString("staff");rnif(staff==username)rnrn....rnrn这样比较错在哪呢?
新手求助 对数据库里面的信息的修改
最近在做老师给我们的作业 做一个简单的管理系统 要求是要连接数据库。但是作为菜鸟的我对数据库里面信息的修改却没得办法 我用啦insert的语句 但是好像现在数据库里面的数据修改之后是 system.data.....的现在搞的很是头大啊 求各位大神给个简单的 对数据库里面的数据进行修改的语句代码 谢谢大神 在线等
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数