1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
from decimal import Decimal
import bson
from odmantic import Model
def test_objectid_serialization():
class M(Model): ...
instance = M()
doc = instance.model_dump_doc()
assert isinstance(doc["_id"], bson.ObjectId)
assert doc["_id"] == instance.id
def test_extra_allowed_bson_serialization():
class M(Model):
...
model_config = {"extra": "allow"}
instance = M(extra_field=Decimal("1.1"))
doc = instance.model_dump_doc()
assert isinstance(doc["extra_field"], bson.Decimal128)
|