Email or username:

Password:

Forgot your password?
Мя :sparkles_lesbian:

Оказывается, пайдантик может молча дропнуть создание класса, если немного накосячить с объявлением

Узнала я об этом при попытке проверить работу алиасов. Если базовая модель объявляет поле, а наследник переобъявит его через присваиваение pydantic.Field(alias=...), но *не* укажет тайпхинт, пайдантик дропнет вообще весь класс, как будто его и не было никогда

Причём достаточно одного такого поля, чтобы весь класс улетел в мусорку

Скриншот REPL, демонстрирующий как класс создаётся а после создания его нет
15 comments
Бука

Когда подписана на @mo, но в её работе ни в зуб ногой, и технические подробности просто бегло сканируешь... То фраза "весь класс улетел в мусорку" визуализируется так: школьники в советской форме плавно вылетают в окно класса, как листья, уносимые ветром - и укладываются в мусорные баки неподалёку.
:blobcateyes:

[DATA EXPUNGED]
Мя :sparkles_lesbian:

Окей, пайдантик не виноват. Это пайчарм с непонятного перепугу начал молча проглатывать брошенное RuntimeError

Alice Carroll

@mo потому что выкинь этот пудантик

Мя :sparkles_lesbian:

@caralice ну и, оказалось это пайчарм хуйня, молча подавил RuntimeError

Мя :sparkles_lesbian:

@caralice а можно кратко, в чем отличия и насколько болезненным будет переход

Alice Carroll

@mo это лучше спросить в чате по питону или по датакласс фактори, я оч давно на питоне не писала ни с пудантиком ни с датакласс фактори

Мя :sparkles_lesbian:

@caralice ...но при этом уверенно предлагаешь выкинуть одно и заменить на другое :blobcatwhat:

Go Up