Ask Your Question
1

What is the procedure for parsing ObjectId in a pydantic model?

asked 2023-07-18 15:06:36 +0000

david gravatar image

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
2

answered 2023-07-18 15:27:02 +0000

pufferfish gravatar image

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')
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss

Add Answer


Question Tools

Stats

Asked: 2023-07-18 15:06:36 +0000

Seen: 14 times

Last updated: Jul 18 '23