Size: a a a

Django [ru] #STAY HOME

2020 March 26

IK

Innokentii Konstantinov in Django [ru] #STAY HOME
Artem Gubatenko
а .order_by('resolved_by_user__user_roles') не работает?
Там дело в том, что мне потом надо указать order_by по другому полю для всего запроса. Вообще задача в том, что в цикле  надо получить данные по роли пользователя. Поэтому я пытаюсь до цикла получить данные о роли
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Innokentii Konstantinov
Там дело в том, что мне потом надо указать order_by по другому полю для всего запроса. Вообще задача в том, что в цикле  надо получить данные по роли пользователя. Поэтому я пытаюсь до цикла получить данные о роли
зайди с другой стороны
и иногда лучше сделать два запроса, чем один но тяжелый

прикинь что лучше в твоем случае
источник

IK

Innokentii Konstantinov in Django [ru] #STAY HOME
Artem Gubatenko
зайди с другой стороны
и иногда лучше сделать два запроса, чем один но тяжелый

прикинь что лучше в твоем случае
Что вы имеете в виду под зайти с другой стороны?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Innokentii Konstantinov
Что вы имеете в виду под зайти с другой стороны?
опиши понятно и подробно задачу, скинь ссылку на модели
может смогу подсказать
источник

ni

nantoo intoo in Django [ru] #STAY HOME
есть там какое то nda   сделай аналогию с другими названиями  в моделях, или не все поля указывай
источник

ni

nantoo intoo in Django [ru] #STAY HOME
так куда понятнее будет
источник

IK

Innokentii Konstantinov in Django [ru] #STAY HOME
Есть модель Incident. У нее есть поле resolved_by_user. Это связь ManyToOne с моделью User. У модели User есть ManyToMany с Role.
Существует проблема в коде - в цикле перебираются все Incident и по каждому требуется узнать роль юзера, который лежит в поле resolved_by_user. На данный момент это можно сделать просто взяв первую роль из  списка ролей, принадлежащих пользователю.  Чтобы в цикле не плодить запросы мне надо перед ним забрать для всех Incident эти роли.
источник

IK

Innokentii Konstantinov in Django [ru] #STAY HOME
просто сделать prefetch_related('resolved_by_user__roles') нельзя, так как если я внутри цикла потом буду вызывать first() у incident.resolved_by_user__roles,  то в бд все равно будет сделан лишний запрос. Решение состоит в том, чтобы в Prefetch указать queryset с явным order_by, но сделать это в описанном выше случае у меня не получается.
источник

IL

Ivan Lerner in Django [ru] #STAY HOME
Привет! Есть кто умеет работать с django channels? Вопрос есть
источник

SP

Sergey Python in Django [ru] #STAY HOME
Ivan Lerner
Привет! Есть кто умеет работать с django channels? Вопрос есть
на Udemy есть курс, автор русскоговорящий
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Innokentii Konstantinov
Есть модель Incident. У нее есть поле resolved_by_user. Это связь ManyToOne с моделью User. У модели User есть ManyToMany с Role.
Существует проблема в коде - в цикле перебираются все Incident и по каждому требуется узнать роль юзера, который лежит в поле resolved_by_user. На данный момент это можно сделать просто взяв первую роль из  списка ролей, принадлежащих пользователю.  Чтобы в цикле не плодить запросы мне надо перед ним забрать для всех Incident эти роли.
сделай аннотацию когда делаешь Prefetch() User с использованием Subquery, который в свою очередь должен возвращать правильную роль

а потом итерируясь по Incident бери значение из аннотированного поля у связанного юзера
источник

IL

Ivan Lerner in Django [ru] #STAY HOME
Sergey Python
на Udemy есть курс, автор русскоговорящий
Есть у меня этот курс, но я запутался немного
источник

SP

Sergey Python in Django [ru] #STAY HOME
:)
источник

SP

Sergey Python in Django [ru] #STAY HOME
халява, дай дай.
источник

IK

Innokentii Konstantinov in Django [ru] #STAY HOME
Artem Gubatenko
сделай аннотацию когда делаешь Prefetch() User с использованием Subquery, который в свою очередь должен возвращать правильную роль

а потом итерируясь по Incident бери значение из аннотированного поля у связанного юзера
спасибо, попробую
источник

SP

Sergey Python in Django [ru] #STAY HOME
Innokentii Konstantinov
спасибо, попробую
чет не догоняю а зачем incedence циклить?
источник

IL

Ivan Lerner in Django [ru] #STAY HOME
У меня в проекте есть что-то типа месанджера:
Есть пользователи, они могут создавать между собой закрытые чаты. Сами чаты и сообщения фронт получает по REST API. Но сейчас столкнулись с проблемой, что у меня фронт запрпшивает чаты по таймауту раз в секунду (да очень плохой вариант). Фронтендер сказал что надо сделать на веб сокетах следующее: при новом сообщени в чате отправлять по ws юзерам уведомления об ээтом, чтобы раз в секунду не слать запросы на бек. Он так упадет когда-нибудь. Вот тут я и затупил. По логике я подумал, что можно для этого использовать сигналы. Короче кто-то сталкивался с таким? Может помочь?
источник

IK

Innokentii Konstantinov in Django [ru] #STAY HOME
Sergey Python
чет не догоняю а зачем incedence циклить?
помимо роли много какие еще другие данные вытаскиваются, их надо обработать и послать
источник

SP

Sergey Python in Django [ru] #STAY HOME
Innokentii Konstantinov
помимо роли много какие еще другие данные вытаскиваются, их надо обработать и послать
да вроде шаблонная хрень у тебя по случаю prefetch...
источник

SP

Sergey Python in Django [ru] #STAY HOME
как про книжки и авторы )
источник