from sqlalchemy import Column, Integer, String, Date, UniqueConstraint from commons.models.mixin.base import BaseModelMixin from commons.models.model import Model from core.extensions import db class DataZhejiang(db.Model, Model, BaseModelMixin): __tablename__ = 'DATA_ZHEJIANG' id = Column('ID', Integer, primary_key=True) url = Column('URL', String(512), default='', comment='下载地址') name = Column('NAME', String(128), default='', comment='名称') source = Column('SOURCE', String(128), default='', comment='来源') date = Column('DATE', Date, comment='日期') __table_args__ = ( UniqueConstraint(name, date, name='Idx_key'), {'comment': '浙江数据'}, ) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) def find_by_key(self): query = DataZhejiang.query query = query.filter(DataZhejiang.name == self.name) query = query.filter(DataZhejiang.date == self.date) result = query.one_or_none() return result