Files
material-api/web/commons/models/data_fujian.py
2024-05-29 10:21:31 +08:00

41 lines
1.7 KiB
Python

from sqlalchemy import Column, Integer, String, Numeric, Date, UniqueConstraint
from commons.models.mixin.base import BaseModelMixin
from commons.models.model import Model
from core.extensions import db
class DataFujian(db.Model, Model, BaseModelMixin):
__tablename__ = 'DATA_FUJIAN'
id = Column('ID', Integer, primary_key=True)
number = Column('NUMBER', String(128), default='', comment='编码')
name = Column('NAME', String(128), default='', comment='名称')
spec = Column('SPEC', String(128), default='', comment='规格')
unit = Column('UNIT', String(128), default='', comment='单位')
price_without_tax = Column('PRICE_WITHOUT_TAX', Numeric(16, 4), default=0, comment='除价格')
price = Column('PRICE', Numeric(16, 4), default=0, comment='含税价')
category = Column('CATEGORY', String(128), default='', comment='分类')
year = Column('YEAR', Integer, default=0, comment='年份')
month = Column('MONTH', Integer, default=0, comment='月份')
city = Column('CITY', String(128), default='', comment='地市')
date = Column('DATE', Date, comment='日期')
__table_args__ = (
UniqueConstraint(year, month, city, name, spec, name='Idx_key'),
{'comment': '福建数据'},
)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def find_by_key(self):
query = DataFujian.query
query = query.filter(DataFujian.year == self.year)
query = query.filter(DataFujian.month == self.month)
query = query.filter(DataFujian.city == self.city)
query = query.filter(DataFujian.name == self.name)
query = query.filter(DataFujian.spec == self.spec)
result = query.one_or_none()
return result