ltx/.lifetracker-python/models.py

38 lines
1.1 KiB
Python

from app import db
import json
class Day(db.Model):
day_id = db.Column(db.Integer, primary_key=True)
date = db.Column(db.Date, unique=True)
note = db.Column(db.String)
hours = db.relationship("Hour", backref="day")
def __repr__(self):
return '<Day: {}>'.format(self.date.strftime("%x"))
def toJson(self):
return json.dumps(self, default=lambda o: o.__dict__)
class Activity(db.Model):
activity_id = db.Column(db.Integer, primary_key=True)
code = db.Column(db.Integer, unique=True)
name = db.Column(db.String)
hours = db.relationship("Hour", backref="activity")
color = db.Column(db.String)
def __repr__(self):
return "<Activity {} ({})>".format(self.code, self.name)
class Hour(db.Model):
hour_id = db.Column(db.Integer, primary_key=True)
time = db.Column(db.Integer)
day_id = db.Column(db.Integer, db.ForeignKey("day.day_id"))
note = db.Column(db.String)
activity_code = db.Column(db.Integer, db.ForeignKey("activity.code"))
def __repr__(self):
return "<Hour {} of day {}>".format(self.time, self.day_id)