Size: a a a

2021 March 02

Б

Боброний in PiterPy Meetup
Если закомментить эти строки:
# pydantic_type.__origin__ = generic_alias.__origin__
# pydantic_type.__parameters__ = generic_alias.__parameters__
# pydantic_type.__args__ = generic_alias.__args__

Оно будет как-то работать
источник

E

Eugene in PiterPy Meetup
Боброний
Мда, видимо тут сказываются особенности валидации маппинга. Это уже похоже на баг
Надо бы наверное сделать отдельный issue или коммент написать в том issue про список.
источник

Б

Боброний in PiterPy Meetup
Eugene
Надо бы наверное сделать отдельный issue или коммент написать в том issue про список.
Лучше отдельное
источник

Б

Боброний in PiterPy Meetup
Eugene
Надо бы наверное сделать отдельный issue или коммент написать в том issue про список.
источник

E

Eugene in PiterPy Meetup
спасибо. сделаю пока так, потестирую ещё. Ну и issue сделать надо, дойдут руки - сделаю.
источник

E

Eugene in PiterPy Meetup
Работает только для первого уровня вложенности.

FieldIntValuePair = FieldValuePair[str, int]

class Model(BaseModel):
   field: FieldIntValuePair
   

class Model1(BaseModel):
   field: Union[FieldIntValuePair, Model]
   

m = Model1(field={'field': {'aaa': 1, 'bbb': 2}})

m
Out[76]: Model1(field=FieldValuePair[(<class 'str'>, <class 'int'>)]({'field': {'aaa': 1, 'bbb': 2}}))
источник

E

Eugene in PiterPy Meetup
Боброний
GenericModel
Не работает с литералами. 😀

from typing import Literal, Dict, TypeVar, Generic
from pydantic.generics import GenericModel

Fields = Literal['foo', 'bar']

FieldType = TypeVar('FieldType')
ValueType = TypeVar('ValueType')

class GModel(GenericModel, Generic[FieldType, ValueType]):
   field: Dict[FieldType, ValueType]

GModelType = GModel[Fields, str]


RecursionError: maximum recursion depth exceeded in comparison


Пойду умру 😩
источник

Б

Боброний in PiterPy Meetup
Eugene
Не работает с литералами. 😀

from typing import Literal, Dict, TypeVar, Generic
from pydantic.generics import GenericModel

Fields = Literal['foo', 'bar']

FieldType = TypeVar('FieldType')
ValueType = TypeVar('ValueType')

class GModel(GenericModel, Generic[FieldType, ValueType]):
   field: Dict[FieldType, ValueType]

GModelType = GModel[Fields, str]


RecursionError: maximum recursion depth exceeded in comparison


Пойду умру 😩
Ужасно :(
источник

Б

Боброний in PiterPy Meetup
Бедный pydantic
источник

E

Eugene in PiterPy Meetup
Боброний
Бедный pydantic
Бедный я... 😥🤪
источник

MK

Maxim Koltsov in PiterPy Meetup
Возьмите уже го
источник

E

Eugene in PiterPy Meetup
Maxim Koltsov
Возьмите уже го
😏 туда генерики завезли? :)
источник

MK

Maxim Koltsov in PiterPy Meetup
Нет генериков - нет проблем))
источник

E

Eugene in PiterPy Meetup
Боброний
Ужасно :(
Issue я завел на это. Это однозначно баг.
источник

Б

Боброний in PiterPy Meetup
Maxim Koltsov
Нет генериков - нет проблем))
Действительно
источник

E

Eugene in PiterPy Meetup
источник

Б

Боброний in PiterPy Meetup
Ща ещё напишу что надо проверять наличие  __get_validators__ у  __origin__
источник

Б

Боброний in PiterPy Meetup
А, там оказывается issue изначально про это
источник

E

Eugene in PiterPy Meetup
Да, там issue про это. Я и писал, что новое заводить наверное и не надо.
источник
2021 March 03

DB

Dima Boger in PiterPy Meetup
Sergey Sokolov
О, кстати, а где-то чё-то можно почитать про фича-флаги и как их готовить, кто-нибудь знает? 🌚
https://github.com/best-doctor/its_on вот ещё небольшая админочка от бестдоктора
источник