models.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # **************************************************************************
  4. # Copyright © 2016 jianglin
  5. # File Name: models.py
  6. # Author: jianglin
  7. # Email: xiyang0807@gmail.com
  8. # Created: 2016-12-13 23:28:30 (CST)
  9. # Last Update:星期四 2016-12-29 21:55:16 (CST)
  10. # By:
  11. # Description:
  12. # **************************************************************************
  13. from flask_maple.models import ModelMixin
  14. from maple.extension import db
  15. class Board(db.Model, ModelMixin):
  16. __tablename__ = 'boards'
  17. id = db.Column(db.Integer, primary_key=True)
  18. name = db.Column(db.String(81), nullable=False)
  19. description = db.Column(db.String(128), nullable=False)
  20. parent_id = db.Column(
  21. db.Integer, db.ForeignKey(
  22. 'boards.id', ondelete="CASCADE"))
  23. parent = db.relationship(
  24. 'Board',
  25. remote_side=[id],
  26. backref=db.backref(
  27. 'children',
  28. remote_side=[parent_id],
  29. cascade='all,delete-orphan',
  30. lazy='dynamic'),
  31. lazy='joined',
  32. uselist=False)
  33. def __str__(self):
  34. return self.name
  35. def __repr__(self):
  36. return '<Board %r>' % self.name