Files
ctp_blogr/cao_blogr/models/portfolio.py

64 lines
2.0 KiB
Python

import datetime #<- will be used to set default dates on models
from cao_blogr.models.meta import Base #<- we need to import our sqlalchemy metadata from which model classes will inherit
from sqlalchemy.orm import relationship
from sqlalchemy import (
Column,
Integer,
Float,
Unicode, #<- will provide Unicode field
UnicodeText, #<- will provide Unicode text field
DateTime, #<- time abstraction field
Index,
ForeignKey,
)
class Actifs(Base):
__tablename__ = 'actifs'
no_id = Column(Integer, primary_key=True)
symbole = Column(Unicode(45), unique=True, nullable=False)
libelle = Column(Unicode(45), nullable=False)
classe = Column(Unicode(45), nullable=False)
nombre = Column(Integer)
cours = Column(Float)
pru = Column(Float)
valeur = Column(Float)
plus_value = Column(Float)
pc_plusvalue = Column(Float)
rendement = Column(Float)
pc_rdt = Column(Float)
pc_allocation = Column(Float)
ter = Column(Float)
ter_pondere = Column(Float)
devise = Column(Unicode(45), default='EUR')
parite = Column(Float)
website = Column(Unicode(100))
modif_le = Column(DateTime, default=datetime.datetime.utcnow)
__table_args__ = (Index('symbole_index', 'symbole'),)
class Allocation(Base):
__tablename__ = 'allocation'
no_cat = Column(Integer, primary_key=True)
classe = Column(Unicode(45), ForeignKey('actifs.classe'))
pc_cible = Column(Integer)
pc_atteint = Column(Float)
pc_ecart = Column(Float)
valeur = Column(Float)
type = Column(Unicode(45), default='ACTION')
ordre = Column(Integer)
bg_color = Column(Unicode(45))
__table_args__ = (Index('classe_index', 'classe'), Index('ordre_index', 'ordre'),)
class Histo(Base):
__tablename__ = 'histo'
no_id = Column(Integer, primary_key=True)
date = Column(DateTime, default=datetime.datetime.utcnow)
mvt_cash = Column(Float)
valeur_pf = Column(Float)
nb_part = Column(Float)
val_part = Column(Float)
cours_ref = Column(Float)
val_part_ref = Column(Float)