models.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #!/usr/bin/env python
  2. # -*- coding=UTF-8 -*-
  3. #*************************************************************************
  4. # Copyright © 2015 JiangLin. All rights reserved.
  5. # File Name: config_db.py
  6. # Author:JiangLin
  7. # Mail:xiyang0807@gmail.com
  8. # Created Time: 2016-03-13 20:36:05
  9. #*************************************************************************
  10. from maple import db
  11. class Board_F(db.Model):
  12. __tablename__ = 'board_f'
  13. id = db.Column(db.Integer, primary_key=True)
  14. chname_f = db.Column(db.String, nullable=False)
  15. enname_f = db.Column(db.String, nullable=False)
  16. rank = db.Column(db.Integer, nullable=False)
  17. count_id = db.Column(db.Integer,
  18. db.ForeignKey('counts.id',
  19. ondelete="CASCADE"))
  20. count = db.relationship("Counts",
  21. backref="board_f",
  22. cascade='all,delete-orphan',
  23. single_parent=True,
  24. uselist=False)
  25. __mapper_args__ = {
  26. "order_by": rank
  27. }
  28. def __init__(self, chname_f, enname_f,rank):
  29. self.chname_f = chname_f
  30. self.enname_f = enname_f
  31. self.rank = rank
  32. def __repr__(self):
  33. return "<Board_F %r>" % self.id
  34. @staticmethod
  35. def load_all():
  36. return Board_F.query.all()
  37. @staticmethod
  38. def load_by_id(bid):
  39. return Board_F.query.filter_by(id=bid).first_or_404()
  40. @staticmethod
  41. def load_by_name(name):
  42. return Board_F.query.filter_by(enname_f=name).first_or_404()
  43. class Board_S(db.Model):
  44. __tablename__ = 'board_s'
  45. id = db.Column(db.Integer, primary_key=True)
  46. chname_s = db.Column(db.String, nullable=False)
  47. enname_s = db.Column(db.String, nullable=False)
  48. board_id = db.Column(db.Integer, db.ForeignKey('board_f.id',
  49. ondelete="CASCADE"))
  50. board_f = db.relationship('Board_F',
  51. backref=db.backref('board_s',
  52. cascade='all,delete-orphan',
  53. lazy='dynamic'))
  54. count_id = db.Column(db.Integer,
  55. db.ForeignKey('counts.id',
  56. ondelete="CASCADE"))
  57. count = db.relationship("Counts",
  58. backref="board_s",
  59. cascade='all,delete-orphan',
  60. single_parent=True,
  61. uselist=False)
  62. __mapper_args__ = {
  63. "order_by": enname_s
  64. }
  65. def __init__(self, chname_s, enname_s):
  66. self.chname_s = chname_s
  67. self.enname_s = enname_s
  68. def __repr__(self):
  69. return "<Board_S %r>" % self.id
  70. @staticmethod
  71. def load_by_name(name):
  72. return Board_S.query.filter_by(enname_s=name).first_or_404()
  73. @staticmethod
  74. def load_by_id(bid):
  75. return Board_S.query.filter_by(id=bid).first_or_404()