Size: a a a

Django [ru] #STAY HOME

2018 December 20

DB

Dima Boger in Django [ru] #STAY HOME
спасибо :)
источник

DB

Dima Boger in Django [ru] #STAY HOME
Ещё предложения кроме __in?
источник

k

kambeerhunter in Django [ru] #STAY HOME
Dima Boger
Есть модель Author и связанная с ней модель Article
Есть список авторов, нужно найти первых Article этих авторов.
Сейчас делаю вот так:
articles = []
for author in authors:
   articles.append(Article.objects.order_by('created_at').filter(author=author).first())

хочется доставать Article одним запросом 🤔
не лучше, сначала фильтровать, потом сортировать? как минимум, уже меньше объектов останется
источник

DB

Dima Boger in Django [ru] #STAY HOME
kambeerhunter
не лучше, сначала фильтровать, потом сортировать? как минимум, уже меньше объектов останется
Это не так работает — запрос выполняется весь разом
источник

DB

Dima Boger in Django [ru] #STAY HOME
джанго-орм чейны ленивые, выполняются в максимально отложенный момент
источник

DB

Dima Boger in Django [ru] #STAY HOME
Можно проверить распечатав итоговый SQL запрос через .query
источник

k

kambeerhunter in Django [ru] #STAY HOME
верю ) было такое в доках
источник

AV

Andrew V in Django [ru] #STAY HOME
Ладно, даю наводку. Используй max(created_at) и группировку
источник

DB

Dima Boger in Django [ru] #STAY HOME
Вот, так лучше
источник

Z

ZHU in Django [ru] #STAY HOME
подскажите как решить проблему
при вводе команду
makemessages -l ru
у меня выходит траблы с кодировкой
UnicodeEncodeError: 'ascii' codec can't encode characters in position 50435-50439: ordinal not in range(128)
источник

R

Rajjix in Django [ru] #STAY HOME
U need to add .encode(‘utf-8’)
источник

R

Rajjix in Django [ru] #STAY HOME
in ur def __str__ or __repr__ function
Example:
return self.<field_name>.encode(‘utf-8’)
источник

Z

ZHU in Django [ru] #STAY HOME
а куда вставить
источник

R

Rajjix in Django [ru] #STAY HOME
источник

AV

Andrew V in Django [ru] #STAY HOME
Dima Boger
Вот, так лучше
Ну так и что там?
источник

DB

Dima Boger in Django [ru] #STAY HOME
Article.objects.filter(author__in=authors).order_by('author__id', 'created_at').distinct('author__id')
источник

AV

Andrew V in Django [ru] #STAY HOME
Dima Boger
Article.objects.filter(author__in=authors).order_by('author__id', 'created_at').distinct('author__id')
И? Не вижу спасибо
источник

DB

Dima Boger in Django [ru] #STAY HOME
Andrew V
Ладно, даю наводку. Используй max(created_at) и группировку
А в каком месте здесь то, что я сделал? :)
источник

DB

Dima Boger in Django [ru] #STAY HOME
источник

DB

Dima Boger in Django [ru] #STAY HOME
За старания однозначно спасибо, за решение — спасибо стаковерфлоу
источник