6
0

base.py 701 B

12345678910111213141516171819202122232425262728293031323334353637
  1. from pycs import db
  2. class BaseModel(db.Model):
  3. __abstract__ = True
  4. id = db.Column(db.Integer, primary_key=True)
  5. def remove(self) -> None:
  6. """
  7. remove this instance from the database
  8. :return:
  9. """
  10. db.session.delete(self)
  11. self.commit()
  12. @classmethod
  13. def new(cls, commit=False, **kwargs):
  14. obj = cls(**kwargs)
  15. db.session.add(obj)
  16. if commit:
  17. self.commit()
  18. def commit(self):
  19. db.session.commit()
  20. class NamedBaseModel(BaseModel):
  21. __abstract__ = True
  22. name = db.Column(db.String, nullable=False)
  23. def set_name(self, name: str):
  24. self.name = name
  25. self.commit()