Spaces:
Build error
Build error
from cruds.base import CRUDBase | |
from models.group import Group | |
from schemas.group import GroupCreate, GroupUpdate | |
from schemas.group import Group as GroupSchema | |
from sqlalchemy.orm import Session | |
from cruds.course import crud_course | |
from fastapi.encoders import jsonable_encoder | |
class CRUDGroup(CRUDBase[Group, GroupCreate, GroupUpdate]): | |
def get_by_program_and_sem(self, db: Session, *, program: int, sem: int): | |
return ( | |
db.query(self.model) | |
.filter_by(program_id=program) | |
.filter_by(sem=sem) | |
.first() | |
) | |
def update( | |
self, | |
db: Session, | |
*, | |
db_obj: Group, | |
obj_in: GroupCreate, | |
) -> Group: | |
if obj_in.course: | |
course = [crud_course.get(db=db, id=id) for id in obj_in.course] | |
else: | |
course = [] | |
db_obj.course = course | |
db.add(db_obj) | |
db.commit() | |
db.refresh(db_obj) | |
return db_obj | |
def create( | |
self, | |
db: Session, | |
*, | |
obj_in: GroupCreate, | |
) -> Group: | |
if obj_in.course: | |
course = [crud_course.get(db=db, id=id) for id in obj_in.course] | |
else: | |
course = [] | |
db_obj = Group(program_id=obj_in.program_id, sem=obj_in.sem, course=course) | |
db.add(db_obj) | |
db.commit() | |
db.refresh(db_obj) | |
return db_obj | |
crud_group = CRUDGroup(Group) | |