open:fastapi-pydantic

FastAPI Pydantic

from datetime import datetime
from pydantic import BaseModel
from bson.objectid import ObjectId
 
 
class PydanticObjectId(ObjectId):
    @classmethod
    def __get_validators__(cls):
        yield cls.validate
 
    @classmethod
    def validate(cls, v):
        if not isinstance(v, ObjectId):
            raise TypeError('ObjectId required')
        return str(v)
 
class ModelBase(BaseModel):
    id: PydanticObjectId = Field(None, alias='_id')

이렇게 하면 사용할 수 있으나, OpenAPI 사용시 에러 발생

class ModelBase(BaseModel):
    id: str = None


  • open/fastapi-pydantic.txt
  • 마지막으로 수정됨: 2023/04/14 05:01
  • 저자 MORO