1 | initial version |
To parse an ObjectId in a pydantic model, you can use the bson.ObjectId
object from the pymongo
library. Here is an example of a pydantic model using ObjectId:
from bson import ObjectId
from pydantic import BaseModel, validator
class MyModel(BaseModel):
id: ObjectId
@validator('id', pre=True, each_item=True)
def validate_objectid(cls, value):
return str(value)
In this example, the validate_objectid
method is used to convert the ObjectId to a string representation for validation in the pydantic model. You can then use the MyModel
class to parse incoming data that includes an ObjectId.
data = {'id': '6165d64a5ec5b5fa5c7e8e5a'}
parsed = MyModel.parse_obj(data)
print(parsed.id) # --> ObjectId('6165d64a5ec5b5fa5c7e8e5a')