12345678910111213141516171819202122232425262728293031323334353637383940 |
- from pycs import db
- from pycs.database.util import commit_on_return
- class BaseModel(db.Model):
- __abstract__ = True
- id = db.Column(db.Integer, primary_key=True)
- def remove(self, commit: bool = True) -> None:
- """
- remove this instance from the database
- :return:
- """
- db.session.delete(self)
- if commit:
- self.commit()
- @classmethod
- def new(cls, commit=False, **kwargs):
- obj = cls(**kwargs)
- db.session.add(obj)
- if commit:
- self.commit()
- def commit(self):
- db.session.commit()
- class NamedBaseModel(BaseModel):
- __abstract__ = True
- name = db.Column(db.String, nullable=False)
- @commit_on_return
- def set_name(self, name: str):
- self.name = name
|