xbackend/schemas/base.py
2021-08-05 15:36:09 +08:00

29 lines
609 B
Python

import uuid
from typing import Optional, Union
from bson import ObjectId
from pydantic import BaseModel, Field, validator
from utils import *
# # mongodb _id 类型
# class OId(ObjectId):
# @classmethod
# def __get_validators__(cls):
# yield cls.validate
#
# @classmethod
# def validate(cls, v):
# try:
# return ObjectId(v)
# except:
# raise ValueError('无效的格式')
class DBBase(BaseModel):
id: str = Field(None, alias='_id')
@validator('id', pre=True, always=True)
def default_id(cls, v):
return v or get_uid()