Program/mooc/crud/crud_admin.py

23 lines
707 B
Python
Raw Normal View History

2025-01-04 01:13:47 +08:00
from typing import Optional
2024-12-31 22:27:04 +08:00
from sqlalchemy.orm import Session
2025-01-04 01:13:47 +08:00
from mooc.crud.crud_base import CRUDBase
from mooc.models.admin import Admin
from mooc.schemas.admin import AdminCreate, AdminUpdate
2024-12-31 22:27:04 +08:00
2025-01-04 01:13:47 +08:00
class CRUDAdmin(CRUDBase[Admin, AdminCreate, AdminUpdate]):
def get_by_username(self, db: Session, *, username: str) -> Optional[Admin]:
return self.get_by_field(db, "username", username)
2024-12-31 22:27:04 +08:00
def delete(self, db: Session, *, id: int) -> Admin:
2025-01-04 01:13:47 +08:00
"""重写删除方法,实现软删除"""
obj = self.get(db, id=id)
2024-12-31 22:27:04 +08:00
if obj:
obj.is_delete = 1
db.add(obj)
db.commit()
2025-01-04 01:13:47 +08:00
db.refresh(obj)
2024-12-31 22:27:04 +08:00
return obj
2025-01-04 01:13:47 +08:00
admin = CRUDAdmin(Admin)
2024-12-31 22:27:04 +08:00