Pydantic V2 + Python 3.13: PEP 695 Type-Alias ​​общей модели Возвращает тип-эстип (no model_rebuild ())-как я могу сохраPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pydantic V2 + Python 3.13: PEP 695 Type-Alias ​​общей модели Возвращает тип-эстип (no model_rebuild ())-как я могу сохра

Сообщение Anonymous »

Я экспериментирую с Python 3.13 и Pydantic v2.11.7.
Моя цель-избегать написания < /p>

Код: Выделить всё

GenericTraining[Discriminate[L1LossConfig]]
< /code>
снова и снова-я хотел бы получить псевдоним, чтобы я мог сделать < /p>
TrainingLike[L1LossConfig]
и все еще имеет полностью отработанную подкласс Basemodel (с Pydantic Model_Rebuild, Valdators и т. Д.).
минимальный воспроизводимый пример

from typing import Annotated, Literal
from pydantic import BaseModel, Field

class L1LossConfig(BaseModel):
loss_type: Literal["l1"] = "l1"

class GenericTraining[LossT](BaseModel):
loss: LossT

type Discriminate[T] = Annotated[T, Field(discriminator="loss_type")]

# -----------------------------------------------------------------------------
# 1️⃣ VERBOSE version – works
Training1 = GenericTraining[Discriminate[L1LossConfig]]
Training1.model_rebuild() # ✅ OK

# 2️⃣ TERSE version – breaks
type TrainingLike[T] = GenericTraining[Discriminate[T]]

Training2 = TrainingLike[L1LossConfig]
Training2.model_rebuild() # ❌ Attribute "model_rebuild" is unknown
< /code>
Как я могу провести обучение [l1lossconfig] < /code> ведут себя точно так же, как

Код: Выделить всё

GenericTraining[Discriminate[L1LossConfig]]
, то есть быть реальным подклассом BaseModel?


Подробнее здесь: https://stackoverflow.com/questions/796 ... ns-typeali
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»