
[ 문장 시작할 떄 정의할 코드 ] $nbsp
import requests
from bs4 import BeautifulSoup as bs
import json
import asyncio
from datetime import datetime, timedelta, timezone
from sqlalchemy import func, create_engine, Identity, String, DateTime, Integer, BigInteger, Sequence, String, UniqueConstraint
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, Session, relationship
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession, async_sessionmaker
from sqlalchemy import select, insert, update, delete
from pydantic import BaseModel, ConfigDict
( 설정 파일 주소 )
POSTGRESQL_DATABASE_URL = "postgresql+psycopg_async://hr:1234@localhost:5432/myapp"
POSTGRESQLDATABASE_URL = "postgresql+asyncpg://hr:1234@localhost:5432/myapp"
engine = create_async_engine(POSTGRESQL_DATABASE_URL, echo=False)
AsyncSessionLocal = async_sessionmaker(engine, expire_on_commit=False, class=AsyncSession)
class Base(DeclarativeBase):
|--|pass
class 이름(Base):
__tablename__ = "BD에 들어갈 이름(이름s)"
primary_key: pk 설정
Identity: 자동증가
POSTGRESQLDATABASE_URL = "postgresql+asyncpg://hr:1234@localhost:5432/myapp"
engine = create_async_engine(POSTGRESQL_DATABASE_URL, echo=False)
AsyncSessionLocal = async_sessionmaker(engine, expire_on_commit=False, class=AsyncSession)
SQLAlchemy ORM 모델
class Base(DeclarativeBase):
pass
class Member(Base):
__tablename__ = "members"
primary_key: pk 설정
Identity: 자동증가
nullable=False: not null
unique=True: unique
[예시]

라이브러리 이름(Pydantic)에서 필요한 두 기능(BaseModel, ConfigDict)을 가져오는 코드
from pydantic import BaseModel, ConfigDict
pydantic v2: Model -> dict 바꿔주는 설정
model_config = ConfigDict(from_attributes=True)

__ | None = None : 들어갈 수도있고 없을 수도 있음
pydentic 형변환
Model -> dict
model_dump()
: pydentic 메서드 - dict -> class
바꿀클래스.model_validate(dict)
member_dict = new_member.model_dump(exclude_none=True)
new_member = MemberVO.model_validate(member_dict))