freeleaps-ops/venv/lib/python3.12/site-packages/beanie/odm/settings/document.py

41 lines
1.1 KiB
Python
Raw Normal View History

from typing import List, Optional
from pydantic import Field
from beanie.odm.fields import IndexModelField
from beanie.odm.settings.base import ItemSettings
from beanie.odm.settings.timeseries import TimeSeriesConfig
from beanie.odm.utils.pydantic import IS_PYDANTIC_V2
if IS_PYDANTIC_V2:
from pydantic import ConfigDict
class DocumentSettings(ItemSettings):
use_state_management: bool = False
state_management_replace_objects: bool = False
state_management_save_previous: bool = False
validate_on_save: bool = False
use_revision: bool = False
single_root_inheritance: bool = False
indexes: List[IndexModelField] = Field(default_factory=list)
merge_indexes: bool = False
timeseries: Optional[TimeSeriesConfig] = None
lazy_parsing: bool = False
keep_nulls: bool = True
max_nesting_depths_per_field: dict = Field(default_factory=dict)
max_nesting_depth: int = 3
if IS_PYDANTIC_V2:
model_config = ConfigDict(
arbitrary_types_allowed=True,
)
else:
class Config:
arbitrary_types_allowed = True