class Project(Base): __tablename__ = "project" id = Column(Integer, primary_key=True) name = Column(String(255), nullable=True, unique=True) description = Column(String(255)) def __repr__(self) -> str: return f"<Project name={self.name} description={self.description}"
class ProjectBase(BaseModel): name: str description: Optional[str] = None class ProjectCreate(ProjectBase): pass class ProjectSchema(ProjectBase): id: int created_at: datetime updated_at: datetime class Config: orm_mode = True
def createProject(project: ProjectCreate, db: Session): '''프로젝트 생성''' new_project = Project( name=project.name, description=project.description ) db.add(new_project) db.commit() db.refresh(new_project) return ProjectSchema.from_orm(new_project)
프로젝트 생성 쿼리 생성 #6
참고자료: https://youtu.be/2X8B_X2c27Q?t=2190 https://victoria-k.tistory.com/entry/3-Fast-API-Basic-Response-%ED%8E%B8?category=959617?category=959617
class ResponseCreateProject(BaseModel): '''프로젝트 생성 응답''' name: str @router.post("/create", response_model=ResponseCreateProject, status_code=201) async def create(request: ProjectCreate, db: Session = Depends(get_db)): """프로젝트 생성""" return createProject(project=request, db=db)
프로젝트 생성 orm모드 제거 #6
Activity
choisungwook commentedon May 6, 2022
[-]Project 도메인 생성[/-][+]Project CRUD[/+]choisungwook commentedon May 7, 2022
choisungwook commentedon May 7, 2022
프로젝트 생성 쿼리 생성 #6
choisungwook commentedon May 7, 2022
choisungwook commentedon May 7, 2022
프로젝트 생성 orm모드 제거 #6