indexstore/Indicator/models.py

30 lines
1.2 KiB
Python

from sqlalchemy import Column, Integer, String, Enum, ForeignKey, Boolean
from sqlalchemy.orm import relationship
from sqlalchemy.dialects.mysql import LONGTEXT
from .database import Base
class Indicator(Base):
__tablename__ = "indicator"
id = Column(Integer, autoincrement=True, primary_key=True, index=True)
ename = Column(String(255), index=True)
cname = Column(String(255), index=True)
description = Column(LONGTEXT)
nature = Column(Enum('定性', '定量'))
category = Column(Enum('盈利能力', '收益质量', '现金流量', '资本结构', '偿债能力', '运营能力', '成长能力', '经营指标', '资质指标', '行业指标', '绿色指标', '司法指标', '合规指标', '舆情指标', '其他'))
is_active = Column(Boolean, default=True)
parameters = relationship("Parameters", back_populates="indicator")
class Parameters(Base):
__tablename__ = "parameters"
id = Column(Integer, autoincrement=True, primary_key=True, index=True)
ename = Column(String(255))
cname = Column(String(255))
description = Column(LONGTEXT)
indicator_id = Column(Integer, ForeignKey("indicator.id"))
indicator = relationship("Indicator", back_populates="parameters")