重构第一版:重新验证2.0推荐写法
This commit is contained in:
+44
-25
@@ -1,5 +1,5 @@
|
||||
from pydantic import BaseModel
|
||||
from sqlalchemy.orm import declarative_base,sessionmaker
|
||||
from sqlalchemy.orm import declarative_base,sessionmaker,Session
|
||||
from sqlalchemy import Column, Integer,String,DATETIME,create_engine
|
||||
from datetime import datetime
|
||||
|
||||
@@ -8,33 +8,56 @@ engine = create_engine(db_url)
|
||||
|
||||
|
||||
def get_session():
|
||||
Session = sessionmaker(bind=engine
|
||||
, autoflush=False
|
||||
, autocommit=False
|
||||
)
|
||||
yield Session()
|
||||
# Session = sessionmaker(bind=engine
|
||||
# , autoflush=False
|
||||
# , autocommit=False
|
||||
# )
|
||||
|
||||
# session = Session(engine)
|
||||
# try:
|
||||
# yield session
|
||||
# finally:
|
||||
# session.close()
|
||||
|
||||
with Session() as session:
|
||||
yield session
|
||||
|
||||
# with Session(engine) as session:
|
||||
# yield session
|
||||
|
||||
Base = declarative_base() # 执行函数,返回一个基类
|
||||
class Order(Base): # python里的表名字
|
||||
__tablename__ = 'order_info_detail' # 实际数据库的表名字
|
||||
id = Column( Integer # 声明字段的数据类型
|
||||
, primary_key=True # 声明是主键
|
||||
, autoincrement=True # 声明是自增主键
|
||||
, comment='订单编号,自增主键' # 注释
|
||||
)
|
||||
|
||||
from model.template import Template
|
||||
|
||||
class Order(Base,Template): # python里的表名字
|
||||
__tablename__ = 'order_info_bool_tinyint' # 实际数据库的表名字
|
||||
title = Column( String(50) # 对应数据库的varchar类型
|
||||
,nullable=False # 不允许为null
|
||||
)
|
||||
userid = Column( Integer
|
||||
# ,ForeignKey('user_info_detail.id')
|
||||
,nullable=False ) # 外键约束
|
||||
create_date = Column(DATETIME
|
||||
, default=datetime.now # 默认值是当前时间
|
||||
)
|
||||
update_date = Column(DATETIME
|
||||
, default=datetime.now # 首次创建的时间跟更新时间一致
|
||||
, onupdate=datetime.now
|
||||
)
|
||||
|
||||
# class Order(Base): # python里的表名字
|
||||
# __tablename__ = 'order_info_detail' # 实际数据库的表名字
|
||||
# id = Column( Integer # 声明字段的数据类型
|
||||
# , primary_key=True # 声明是主键
|
||||
# , autoincrement=True # 声明是自增主键
|
||||
# , comment='订单编号,自增主键' # 注释
|
||||
# )
|
||||
# title = Column( String(50) # 对应数据库的varchar类型
|
||||
# ,nullable=False # 不允许为null
|
||||
# )
|
||||
# userid = Column( Integer
|
||||
# # ,ForeignKey('user_info_detail.id')
|
||||
# ,nullable=False ) # 外键约束
|
||||
# create_date = Column(DATETIME
|
||||
# , default=datetime.now # 默认值是当前时间
|
||||
# )
|
||||
# update_date = Column(DATETIME
|
||||
# , default=datetime.now # 首次创建的时间跟更新时间一致
|
||||
# , onupdate=datetime.now
|
||||
# )
|
||||
|
||||
# 定义创建订单的请求体模型
|
||||
class OrderRequest(BaseModel):
|
||||
@@ -51,11 +74,7 @@ class OrderSchema(BaseModel):
|
||||
update_date:datetime
|
||||
|
||||
class OrderResponse(BaseModel):
|
||||
# id:int|None = None
|
||||
# title:str|None = None
|
||||
# userid:int|None =None
|
||||
# create_date:datetime|None = datetime.now()
|
||||
# update_date:datetime|None = datetime.now()
|
||||
|
||||
status_code:str = 200
|
||||
detail:str = 'succeed!'
|
||||
total:int = 1
|
||||
|
||||
Reference in New Issue
Block a user