class IncomeDetail(db.Model): id = db.Column(db.Integer, primary_key=True) size = db.Column(db.String(255)) amount = db.Column(db.Integer) item_id = db.Column(db.Integer, db.ForeignKey('item.id')) income_id = db.Column(db.Integer, db.ForeignKey('income.id')) def __init__(self, item_id=None, income_id=None, \ size=None, amount=None): if item_id and income_id and size and amount: self.item_id = item_id self.income_id = income_id self.size = size self.amount = amount else: raise ValueError def __repr__(self): return '{ IncomeDetail Object: %s , %s , %s , %s }' % \ (self.item_id, self.income_id, self.size, self.amount)
class Storage(db.Model): id = db.Column(db.Integer, primary_key=True) size = db.Column(db.String(255), unique=True) amount = db.Column(db.Integer) item_id = db.Column(db.Integer, db.ForeignKey('item.id')) place_id = db.Column(db.Integer, db.ForeignKey('place.id')) def __init__(self, size=None, amount=None, \ item_id=None, place_id=None): if size and amount and item_id and place_id: self.size = size self.amount = amount self.item_id = item_id self.place_id = place_id else: raise ValueError def __repr__(self): return '{ Storage Object: %s , %s , %s , %s }' % \ (self.size, self.amount, \ self.item_id, self.place_id)
class Income(db.Model): id = db.Column(db.Integer, primary_key=True) date = db.Column(db.DateTime,default=datetime.utcnow) order_id = db.Column(db.Integer, db.ForeignKey('order.id')) details = db.relationship("IncomeDetail", backref="order", lazy='dynamic') def __init__(self, order_id, date=None): self.order_id = order_id if date: self.date = date def __repr__(self): return '{ Income Object: %s , %s }' % \ (self.date, self.order_id)
class Reservation(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(255)) contact = db.Column(db.String(255)) address = db.Column(db.String(255)) note = db.Column(db.Text) date = db.Column(db.DateTime, default=datetime.utcnow) amount = db.Column(db.Integer) # 0: not finish ; 1: finish; -1: can't finish, also means delete status = db.Column(db.Integer, default=0) item_id = db.Column(db.Integer, db.ForeignKey('item.id')) def __init__(self, name, contact, address, item_id, amount, note=None): self.name = name self.contact = contact self.address = address self.item_id = item_id self.amount = amount if note: self.note = note def __repr__(self): return "{{-- Reservation Object: %s --}}" % self.name
class Account(db.Model): id = db.Column(db.Integer, primary_key=True) user_no = db.Column(db.String(255), unique=True) user_ps = db.Column(db.String(255)) privilege = db.Column(db.Integer, default=0) last_login = db.Column(db.DateTime,default=datetime.utcnow) last_ip = db.Column(db.String(255)) place_id = db.Column(db.Integer, db.ForeignKey('place.id')) def __init__(self, user_no=None, user_ps=None, privilege=None, place_id=None): if user_no and user_ps and place_id: self.user_no = user_no self.user_ps = md5(user_ps) self.place_id = place_id if privilege: self.privilege = privilege else: raise ValueError def __repr__(self): return '{ Account Object: %s , %s , %s , %s }' % \ (self.user_no, self.user_ps, \ self.privilege, self.place_id)