Так не надо инициализатор самому писать.
В 3.0 для фильтров pydantic прикрутил.
мне как-то давно Тишка за это в бубен дал. Я тоже пытался возражать, что датакласс позволяет миновать монструозный инициализатор, но его доводы в сторону «у датакласса не должно быть методов» меня убедили