from datetime import datetime from app import db class Account(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(64), index=True, unique=True) account_type = db.Column(db.String(64)) balance = db.Column(db.Float, default=0.0) def __repr__(self): return f'' class Transaction(db.Model): id = db.Column(db.Integer, primary_key=True) amount = db.Column(db.Float) type = db.Column(db.String(64)) # 'transfer', 'expense', 'income' date = db.Column(db.DateTime, default=datetime.utcnow) source_account_id = db.Column(db.Integer, db.ForeignKey('account.id')) destination_account_id = db.Column(db.Integer, db.ForeignKey('account.id')) source_account = db.relationship('Account', foreign_keys=[source_account_id], backref=db.backref('source_transactions', lazy=True)) destination_account = db.relationship('Account', foreign_keys=[destination_account_id], backref=db.backref('destination_transactions', lazy=True)) concept = db.Column(db.String(128)) def __repr__(self): return f''