Files
Source/project/STOCK_APP/backend/repository/models.py
T
cooney 315105cebb 랭그래프 활용한 주식 정보 도출 프로젝트
- 투자 의견 조회
ㄴ 전반적인 주식 판단 기준(ex. 채무, 리스크 등등)을 기준으로 판단하여 도출
- 투자 추천
ex)
{
  "tickers": [
    "NVDA", "GOOGL", "AAPL"
  ],
  "risk_type": "aggressive"
}
2026-06-19 18:03:05 +09:00

29 lines
1.2 KiB
Python

from backend.repository.db_init import Base
from sqlalchemy.orm import Mapped, mapped_column, relationship
from datetime import datetime
from sqlalchemy import JSON, ForeignKey, String
class StockAnalysis(Base):
__tablename__ = "stock_analysis"
analysis_id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True)
ticker:Mapped[str]
company_name:Mapped[str]
analysis_json: Mapped[dict] = mapped_column(JSON)
report:Mapped[str]
created_at:Mapped[datetime] = mapped_column(default=datetime.now, nullable=False)
opinion = relationship("InvestmentOpinion", back_populates="analysis", uselist=False)
class InvestmentOpinion(Base):
__tablename__ = "investment_opinion"
opinion_id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True)
analysis_id: Mapped[int] = mapped_column(ForeignKey("stock_analysis.analysis_id"), unique=True)
opinion: Mapped[str]
# 투자의견 : Buy, sell.....
rating:Mapped[str] = mapped_column(String(20), nullable=True)
score:Mapped[int] = mapped_column(default=0)
created_at:Mapped[datetime] = mapped_column(default=datetime.now, nullable=False)
analysis = relationship("StockAnalysis", back_populates="opinion")