class Task(db.Model): __tablename__ = 'task' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(256), index=True) start_date = db.Column(db.Date) end_date = db.Column(db.Date) info = db.Column(db.String(256)) project_id = db.Column(db.Integer, db.ForeignKey('project.id')) owner_id = db.Column(db.Integer, db.ForeignKey('user.id')) parent_task = db.Column(db.Integer, db.ForeignKey('task.id')) def __repr__(self): return '<Task %r>' % self.name
class Project(db.Model): __tablename__ = 'project' __table_args__ = {'extend_existing': True} id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(256), index=True) start_date = db.Column(db.Date) end_date = db.Column(db.Date) info = db.Column(db.String(256)) owner_id = db.Column(db.Integer, db.ForeignKey('user.id')) tasks = db.relationship('Task') def __repr__(self): return '<Project %d %s owner %s>' % (self.id, self.name, self.owner_id)
id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(256), index=True) start_date = db.Column(db.Date) end_date = db.Column(db.Date) info = db.Column(db.String(256)) project_id = db.Column(db.Integer, db.ForeignKey('project.id')) owner_id = db.Column(db.Integer, db.ForeignKey('user.id')) parent_task = db.Column(db.Integer, db.ForeignKey('task.id')) def __repr__(self): return '<Task %r>' % self.name association_table = db.Table( 'UserTask', Base.metadata, db.Column('user_id', db.Integer, db.ForeignKey('user.id')), db.Column('task_id', db.Integer, db.ForeignKey('task.id'))) class User(db.Model): __tablename__ = 'user' id = db.Column(db.Integer, primary_key=True) nickname = db.Column(db.String(64), index=True, unique=True) email = db.Column(db.String(120), index=True, unique=True) role = db.Column(db.SmallInteger, default=ROLE_USER) # children = db.relationship("Task", # secondary=association_table, # backref="users") def is_authenticated(self):