Size: a a a

Django [ru] #STAY HOME

2020 July 08

AG

Artem Gubatenko in Django [ru] #STAY HOME
Dan Tyan
поправь если не прав но values возвращает список
получаю queryset: <Queryset[{...}, {...},...]>
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Всем привет!
Товарищи расскажите как вы обходите проблему циклических импортов методов моделей?
То есть у меня отдельный файл с моделями, отдельный - lib.py, там функции соответственно храню. Переопределяю метод save например у какой-то из моделей, указываю что при сохранении нужно выполнить вот эту функцию из модуля lib, в котором импортируется модель из этого же модуля, соответственно рекурсия, энтропия, отчаяние. Я понимаю что можно импортировать нужную ф-цию не в models.py, а в непосредственн в save, но это как-то криво по ощущениям. Есть какие-то архитектурные решения, которые этих проблем помогут избежать?
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Dan Tyan
поправь если не прав но values возвращает список
Вроде список получается если юзать values_list, не?
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Artem Gubatenko
получаю queryset: <Queryset[{...}, {...},...]>
я к тому что values выполняет запрос и формирует данные
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
ARTUR KNYAZEV
люди а что за прикол , неавторизованный  пользователь  может попасть на страницу , если он вручную напишет в сторке адрес , то легко попадает на строницу
Это значит что нужно поставить декоратор, чтобы он этого не мог сделать
источник

DT

Dan Tyan in Django [ru] #STAY HOME
на момент выполнения values он не является подзапросом
источник

AK

ARTUR KNYAZEV in Django [ru] #STAY HOME
Sergey Matveyev
Это значит что нужно поставить декоратор, чтобы он этого не мог сделать
Это как
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Dan Tyan
на момент выполнения values он не является подзапросом
спасибо, возможно оно, думаю
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Sergey Matveyev
Всем привет!
Товарищи расскажите как вы обходите проблему циклических импортов методов моделей?
То есть у меня отдельный файл с моделями, отдельный - lib.py, там функции соответственно храню. Переопределяю метод save например у какой-то из моделей, указываю что при сохранении нужно выполнить вот эту функцию из модуля lib, в котором импортируется модель из этого же модуля, соответственно рекурсия, энтропия, отчаяние. Я понимаю что можно импортировать нужную ф-цию не в models.py, а в непосредственн в save, но это как-то криво по ощущениям. Есть какие-то архитектурные решения, которые этих проблем помогут избежать?
импорт в методе
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
ARTUR KNYAZEV
Это как
Вот так:
@login_required(login_url=LOGIN_URL)
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Sergey Matveyev
Вот так:
@login_required(login_url=LOGIN_URL)
уверен что у него fbv въюхи?
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Dan Tyan
импорт в методе
Ну я вот так и делаю, но это костыль же, нет? Получается что в модуле может быть несколько таких строк, если мне эта ф-ция нужна в нескольких моделях
источник

AK

ARTUR KNYAZEV in Django [ru] #STAY HOME
Dan Tyan
уверен что у него fbv въюхи?
А это что )))
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Dan Tyan
уверен что у него fbv въюхи?
справедливо...
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
ARTUR KNYAZEV
А это что )))
давай ссылку на код вьюхи
источник

AK

ARTUR KNYAZEV in Django [ru] #STAY HOME
Это пипец )) сейчас поставлю на хост
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
ARTUR KNYAZEV
Это пипец )) сейчас поставлю на хост
Да залей на пастебин и всё
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Sergey Matveyev
Ну я вот так и делаю, но это костыль же, нет? Получается что в модуле может быть несколько таких строк, если мне эта ф-ция нужна в нескольких моделях
ну я других способов не знаю
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Dan Tyan
на момент выполнения values он не является подзапросом
без values() тоже самое
а вот если заменить OuterRef() на, допустим 1 везде в Case(), то все норм отрабатывает.

Получается с .values() все корректно, тем более в Subquery() ожидается значение одного столбца из 1 строки в таблице
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Dan Tyan
ну я других способов не знаю
Ну это норм вообще считается? Если ты такой код например увидишь, плеваться не будешь?
источник