当前位置: 首页 > news >正文

佛山网站建设邓先生网页可视化设计

佛山网站建设邓先生,网页可视化设计,国外wordpress模板下载,vps可以做多少网站这边使用的是flaskdependency-injectersqlalchemy,有一个公共类,想插入或者更新的时候对公共类某些字段进行统一操作 这个是公共类:包括一些基础字段,所有的实体都会继承这个类 """Models module.""&q…

这边使用的是flask+dependency-injecter+sqlalchemy,有一个公共类,想插入或者更新的时候对公共类某些字段进行统一操作

这个是公共类:包括一些基础字段,所有的实体都会继承这个类 

"""Models module."""from datetime import datetime
from sqlalchemy import Column, String, Integer,DateTime#, Booleanfrom sqlalchemy.ext.declarative import declarative_baseBase = declarative_base()class CommonEntity(Base):__abstract__ = Truecreated_dt = Column(DateTime)created_by = Column(String)updated_dt = Column(DateTime)updated_by = Column(String)version = Column(Integer)

然后是db的配置

"""Database module."""from contextlib import contextmanager, AbstractContextManager
from typing import Callablefrom sqlalchemy import create_engine, orm,event
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import Session
from datetime import datetimefrom main.services.common_service.db_access.domain.common_field_entity import CommonEntity
Base = declarative_base()class DatabaseConfig:def __init__(self, db_url: str) -> None:self._engine = create_engine(db_url, echo=True)self._session_factory = orm.scoped_session(orm.sessionmaker(autocommit=False,autoflush=False,expire_on_commit=False,bind=self._engine,),)def create_database(self) -> None:Base.metadata.create_all(self._engine)@contextmanagerdef session(self) -> Callable[..., AbstractContextManager[Session]]:session: Session = self._session_factory()try:yield sessionexcept Exception:session.rollback()raiseelse:if session._transaction.is_active:session.commit()session.close()@event.listens_for(CommonEntity, 'before_insert', propagate=True)def before_insert_listener(self, mapper, target):# 在创建时自动更新 created_dt,versiontarget.created_dt = datetime.now()target.created_by = 'Damien'target.version = 1@event.listens_for(CommonEntity, 'before_update', propagate=True)def before_update_listener(self, mapper, target):# 在更新时自动更新 updated_dt,versiontarget.updated_dt = datetime.now()target.updated_by = 'Damien'target.version += 1

 重要的就是@event.listens_for,这里。监听公共类,所有继承了它的实体的插入更新都会被监听到,然后就是对里面的字段进行统一的操作就行了,不用再每次插入或者更新进行手动修改了

http://www.yayakq.cn/news/398889/

相关文章:

  • 企业 php网站建设网站开发行业发展前景
  • 网站建设对策域名购买之后怎么做网站
  • 陕西住房城乡建设部网站wordpress注册中文插件
  • 广东网站建设公司电话哪家编程机构的性价比比较高
  • 优秀网站开发公司seo代理计费系统
  • 网站未备案会怎么样外贸网页制作公司
  • 济南建设网站的公司哪家好微网站网站模板建站
  • nodejs做视频网站哈尔滨建设局网站
  • 广告网站模板下载 迅雷下载安装江苏网站建设案例
  • 平面设计网站介绍自己做的网站的论文
  • 深圳教育网站建设福建八大员建设厅延续的网站
  • 查询网站外链小米发布会完整版
  • 佛山 网站建设 骏域网站建设业务员招聘
  • 关于色彩搭配的网站mip网站怎么做匹配
  • 网站建设自评报告wordpress twig
  • 营销型网站建设应该注意什么wordpress 评论框 美化
  • 贵阳网站建设公司哪个好推广任务发布平台app
  • 深圳有哪些招聘网站可以做外国网站文章
  • 网站的网络推广网站域名注册步骤
  • 做网站做地区好还是全国的好建博客和建网站哪个好
  • 单位网站建设管理工作总结便利的网站建设
  • 网站建设雨点有什么网站用名字做图片
  • 企业展厅策划设计公司排名蚌埠seo
  • 有源码帮忙搭建网站吗合肥网站seo诊断
  • 购物网站服务中心wordpress主题 摄影师
  • 微商城 分销平台xp优化大师
  • 宏信网络网站建设网站设计评级
  • 做购物网站安全吗wordpress开启多站点
  • 怎么做谷歌推广seo推广用什么做网站好
  • 做网站哪个部分企业门户网站案例