diff --git a/aiogram/filters/callback_data.py b/aiogram/filters/callback_data.py index 50e9879a..96f2a64b 100644 --- a/aiogram/filters/callback_data.py +++ b/aiogram/filters/callback_data.py @@ -22,6 +22,7 @@ from uuid import UUID from magic_filter import MagicFilter from pydantic import BaseModel from pydantic.fields import FieldInfo +from pydantic_core import PydanticUndefined from aiogram.filters.base import Filter from aiogram.types import CallbackQuery @@ -131,7 +132,7 @@ class CallbackData(BaseModel): for k, v in zip(names, parts): # type: str, Optional[str] if field := cls.model_fields.get(k): if v == "" and _check_field_is_nullable(field): - v = field.default + v = field.default if field.default is not PydanticUndefined else None payload[k] = v return cls(**payload)