23 lines
707 B
Python
23 lines
707 B
Python
from typing import Optional
|
|
from sqlalchemy.orm import Session
|
|
from mooc.crud.crud_base import CRUDBase
|
|
from mooc.models.admin import Admin
|
|
from mooc.schemas.admin import AdminCreate, AdminUpdate
|
|
|
|
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)
|
|
|
|
def delete(self, db: Session, *, id: int) -> Admin:
|
|
"""重写删除方法,实现软删除"""
|
|
obj = self.get(db, id=id)
|
|
if obj:
|
|
obj.is_delete = 1
|
|
db.add(obj)
|
|
db.commit()
|
|
db.refresh(obj)
|
|
return obj
|
|
|
|
admin = CRUDAdmin(Admin)
|
|
|