30 lines
1.2 KiB
Python
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")
|