Size: a a a

2021 March 02

E

Eugene in PiterPy Meetup
@Bobronium

В общем, я так сделал, работает:

class MyDict(dict[KType, VType]):
   ...

class MyDictStrInt(MyDict[str, int]):
   type_ = dict

class A(BaseModel):
   foo: MyDictStrInt


🤷‍♂️ ужос
источник

E

Eugene in PiterPy Meetup
@Bobronium нет, всё равно не работает. В этом случае (как у меня в примере выше) отваливаются все валидаторы типов и срабатывает только мой валидатор, который я сам написал.
источник

Б

Боброний in PiterPy Meetup
Eugene
@Bobronium нет, всё равно не работает. В этом случае (как у меня в примере выше) отваливаются все валидаторы типов и срабатывает только мой валидатор, который я сам написал.
Логично
источник

E

Eugene in PiterPy Meetup
Боброний
Логично
Кажется, в библиотеке есть проблема.
источник

Б

Боброний in PiterPy Meetup
Eugene
Кажется, в библиотеке есть проблема.
Пожалуй.
источник

Б

Боброний in PiterPy Meetup
Если что, вот это работает
источник

E

Eugene in PiterPy Meetup
Боброний
Если что, вот это работает
Я этот код не понимаю и не понимаю насколько он надёжен.
источник

Б

Боброний in PiterPy Meetup
Eugene
Я этот код не понимаю и не понимаю насколько он надёжен.
А что непонятно?
источник

E

Eugene in PiterPy Meetup
Боброний
А что непонятно?
Да абсолютно всё. Чтобы понять этот код надо знать кишки библиотеки
источник

E

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

Б

Боброний in PiterPy Meetup
Eugene
Да абсолютно всё. Чтобы понять этот код надо знать кишки библиотеки
Да вроде нет. Достаточно знания того факта, что у типа должен быть определён get_validators.
источник

E

Eugene in PiterPy Meetup
Надо просто пофиксить библиотеку, а это - костыли какие-то дикие
источник

E

Eugene in PiterPy Meetup
Если надо, воткнуть этот код куда-то внутрь, чтобы пользователь его не видел.
источник

Б

Боброний in PiterPy Meetup
Eugene
Надо просто пофиксить библиотеку, а это - костыли какие-то дикие
Здесь нет бага как такового. Оно просто так (не) работает.
источник

Б

Боброний in PiterPy Meetup
Улучшить стоит, да
источник

E

Eugene in PiterPy Meetup
Боброний
Здесь нет бага как такового. Оно просто так (не) работает.
Суть кастомных типов как раз в возможности задать кастомный валидатор, настроить схему и т.п. Если у кастомного generic типа отваливается возможность задать валидаторы в библиотеке, которая полностью построена на аннотациях типов - это именно баг,а не "особенность".
источник

E

Eugene in PiterPy Meetup
@Bobronium я скопипастил твой код. Не работает

in __class_getitem__
   (type_,) = type_
ValueError: too many values to unpack (expected 1)
источник

DB

Dima Boger in PiterPy Meetup
источник

Б

Боброний in PiterPy Meetup
Eugene
@Bobronium я скопипастил твой код. Не работает

in __class_getitem__
   (type_,) = type_
ValueError: too many values to unpack (expected 1)
Так оно для List, угадай сколько там параметров
источник

Б

Боброний in PiterPy Meetup
У тебя там key_type и value_type
источник