class Goods(Base):
id = Column(Integer, primary_key=True, autoincrement=True, comment='id')
flag = Column(JSON)
sort = Column(Integer)
create_time = Column(TIMESTAMP(True), server_default=func.now())
update_time = Column(TIMESTAMP(True), nullable=False, server_default=func.now())
delete_time = Column(TIMESTAMP(True))
给Goods类统计delete_time属性, 如果为None即正式,有时间就是别删除的了,
改写sqlalchemy得filter_by方法。
class Query(BaseQuery):
def filter_by(self, **kwargs):
if hasattr(self.statement.columns, 'delete_time'):
if 'delete_time' not in kwargs.keys():
kwargs['delete_time'] = None
return super(Query, self).filter_by(**kwargs)
用hasattr函数判断self.statement.columns是否存在delete_time这个属性,如果存在添加一条kwargs['delete_time'] = None的查询条件。
来源:CSDN
作者:cinger
链接:https://blog.csdn.net/cinger/article/details/104044526