Size: a a a

2021 October 18

СВ

Саша Воронов... in Rude Python
это что за говно?
источник

PC

Patsy Charmer in Rude Python
нихуя. я о той, части что является дефолтом аргумента, т.е. куда класть дефолт тогда?
источник

PC

Patsy Charmer in Rude Python
это абстракция, не всегда же с конкретными фастапи работать
источник

НВ

Николай Видов... in Rude Python
Зачем переопределять класс внутри инита?
источник

PC

Patsy Charmer in Rude Python
согласен плохая идея, а как мне в сигнатуру дефолт затащить?
источник

RK

Ruslan Krivoshein in Rude Python
Выглядит как XY Problem
источник

НВ

Николай Видов... in Rude Python
Через инит, как у тебя self.s сделан и его везде юзать, где надо
источник

НВ

Николай Видов... in Rude Python
Или ты хочешь прям динамический DI?
источник

PC

Patsy Charmer in Rude Python
да да!
источник

НВ

Николай Видов... in Rude Python
В рамках одного инстанса разный DI?
источник

НВ

Николай Видов... in Rude Python
Лучше объясни что ты хочешь. Пока выглядит как говно
источник

PC

Patsy Charmer in Rude Python
объект синглтон будет, и зависимость статическая
источник

PC

Patsy Charmer in Rude Python
конкретизирую. у меня есть контейнер. там я определяю настройки, и хочу их затащить в контроллер фаст апи
 async def get_template_collection(
           self,
           page_number: Optional[int] = Query(START_PAGE_NUMBER, ge=1, alias='pageNumber'),
           page_size: Optional[int] = Query(DEFAULT_PAGE_SIZE, ge=0, alias='pageSize'),
)
вот DEFAULT_PAGE_SIZE хочу определять вне класса
источник

НВ

Николай Видов... in Rude Python
Ну так определи как константу и ссылайся на неё в методе. В чём вопрос? Причём тут DI?
источник

НВ

Николай Видов... in Rude Python
Если хочешь переопределять и использовать "нативный DI" в fastapi - Depends в помощь
источник

PC

Patsy Charmer in Rude Python
в том, что константа где должна тогда лежать?
я хочу чтобы лежала в настройках, а настройки подавались как зависимость внутри контейнера
источник

НВ

Николай Видов... in Rude Python
Так а в чем проблема получать её из self.s, куда сохранять настройки, в ините, а не просить явно в аргументах? Всё ещё не вижу проблемы
источник

PC

Patsy Charmer in Rude Python
тогда обращаться надо в теле метода, а я хотел в сигнатуре, но видимо нет такого способа
источник

НВ

Николай Видов... in Rude Python
Есть. Depends. Один хрен никаких проблем абсолютно что так что этак
источник

PC

Patsy Charmer in Rude Python
ты предлагаешь типа сделать так:
class A:

   def __init__(self, s):
       self.s = s

   def p(self, a = None):
       a = self.s if a is None else a
       print(a)
?
источник