from app import db import datetime class User(db.Model): 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) opened = db.relationship('Ticket', backref='opened_by', lazy='dynamic', primaryjoin = 'Ticket.opened_by_user_id == User.id') assigned = db.relationship('Ticket', backref='assigned_to', lazy='dynamic', primaryjoin = 'Ticket.assigned_to_user_id == User.id') def __repr__(self): return '' % (self.nickname) class Ticket(db.Model): id = db.Column(db.Integer, primary_key=True) summary = db.Column(db.String(140), nullable=False) body = db.Column(db.Text, nullable=False) opened_at = db.Column(db.DateTime, nullable=False) updated_at = db.Column(db.DateTime) status = db.Column(db.String(64), nullable=False, default='open') resolution = db.Column(db.String(64)) reason = db.Column(db.String(140)) deleted = db.Column(db.Boolean, default=False) opened_by_user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) assigned_to_user_id = db.Column(db.Integer, db.ForeignKey('user.id')) def __repr__(self): return '' % (self.id)