예제 #1
0
class Stock(db.Model):
    __tablename__ = "stocks"

    id = db.Column(db.Integer, primary_key=True)
    company_name = db.Column(db.String(128), index=True, nullable=False)
    company_symbol = db.Column(db.String(128), index=True, nullable=False)
    shares = db.Column(db.Integer, nullable=False)
    price = db.Column(db.Float, nullable=False)

    transaction = db.relationship("Transaction", back_populates="stock")
예제 #2
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), unique=True, nullable=False)
    hash = db.Column(db.String(120), nullable=False)
    cash = db.Column(db.Float, nullable=False, default=10000.)
    transactions = db.relationship('Transactions',
                                   backref='transactor',
                                   lazy=True)

    def __repr__(self):
        return f"User({self.username})"
예제 #3
0
class User(db.Model):
    __tablename__ = "users"

    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(128),
                         index=True,
                         unique=True,
                         nullable=False)
    hash = db.Column(db.String(128), nullable=False)
    cash = db.Column(db.Integer, default=10000.00, nullable=False)

    transactions = db.relationship("Transaction", back_populates="user")

    def __repr__(self):
        return '<User {}>'.format(self.username)
예제 #4
0
class Transaction(db.Model):
    __tablename__ = "transactions"

    id = db.Column(db.Integer, primary_key=True)

    # Many to one relationship
    user_id = db.Column(db.Integer,
                        db.ForeignKey("users.id"),
                        index=True,
                        nullable=False)
    user = db.relationship("User", back_populates="transactions")

    # One to one relationship
    stock_id = db.Column(db.Integer,
                         db.ForeignKey("stocks.id"),
                         nullable=False)
    stock = db.relationship("Stock",
                            uselist=False,
                            back_populates="transaction")

    transacted_at = db.Column(db.DateTime,
                              nullable=False,
                              default=datetime.datetime.utcnow)
예제 #5
0
class Transactions(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    symbol = db.Column(db.String(20), nullable=False)
    shares = db.Column(db.Integer, nullable=False)
    price = db.Column(db.Float(), nullable=False)
    date = db.Column(db.DateTime(), default=datetime.utcnow())
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)

    def __repr__(self):
        return f"symbol({self.symbol}), shares({self.shares}), price({self.price})"
예제 #6
0
class Transaction(db.Model):
    __tablename__ = "transactions"

    id = db.Column(db.Integer, primary_key=True)

    # Many to one relationship
    user_id = db.Column(db.Integer,
                        db.ForeignKey("users.id"),
                        index=True,
                        nullable=False)
    user = db.relationship("User", back_populates="transactions")

    company_name = db.Column(db.String(128), index=True)
    company_symbol = db.Column(db.String(128), index=True, nullable=False)
    shares = db.Column(db.Integer, nullable=False)
    price = db.Column(db.Float, nullable=False)
    trans_type = db.Column(db.String(128), index=True, nullable=False)
    transacted_at = db.Column(db.DateTime,
                              default=datetime.datetime.utcnow,
                              nullable=False)