Skip to content

Commit

Permalink
Improve doc
Browse files Browse the repository at this point in the history
  • Loading branch information
hramezani committed Sep 18, 2023
1 parent 6c60b87 commit 1fb82b2
Showing 1 changed file with 12 additions and 14 deletions.
26 changes: 12 additions & 14 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,31 +111,29 @@ You can disable this behaviour by setting `validate_default=False` either in `mo
or on field-by-field basis:

```py
import datetime as dt

from pydantic import Field
from pydantic.functional_validators import BeforeValidator
from typing_extensions import Annotated

from pydantic_settings import BaseSettings, SettingsConfigDict


def str_to_date(v: str) -> dt.date:
return dt.date.fromisoformat(v)


class GlobalSettings(BaseSettings):
class Settings(BaseSettings):
model_config = SettingsConfigDict(validate_default=False)

# default won't be validated
date: Annotated[dt.date, BeforeValidator(str_to_date)] = dt.date(2000, 1, 1)
foo: int = 'test'


print(Settings())
#> foo='test'


class LocalSettings(BaseSettings):
class Settings1(BaseSettings):
# default won't be validated
date: Annotated[dt.date, BeforeValidator(str_to_date)] = Field(
default=dt.date(2000, 1, 1), validate_default=False
)
foo: int = Field('test', validate_default=False)


print(Settings1())
#> foo='test'
```

Check the [Validation of default values](validators.md#validation-of-default-values) for more information.
Expand Down

0 comments on commit 1fb82b2

Please sign in to comment.