Update callback_data.py

Fixed an issue that prevented unpacking None values.
This commit is contained in:
m-xim 2024-05-27 03:15:30 +03:00 committed by GitHub
parent 3974aba9ba
commit c2bf290fe0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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)