Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
FROM `socialaccount_socialaccount` WHERE `socialaccount_socialaccount`.`user_id` IN (40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40)
page.filed.translations.filter(lng='ru').first()Page.objects.filter(id=1).prefetch_related('content', 'title', 'description', 'keywords').first()Page.objects.filter(id=1).prefetch_related('content__translations', 'title__translations', 'description__translations', 'keywords__translations').first(), что равносильно 1му варианту только без отложенной разгузки.raw перед extra — у него отсутсвуют стандартные методы, например filter и get.children = parent.children.filter(is_active=True).order_by('order_field').values_list('id', flat=True)
pages = {x.id for x in Page.objects.extra(translations(where={'id': children}))}
ordered_pages = (pages[pk] for pk in children)
def translations уже включить обработку where на свой вкус.join. В ветке 1.5 не было параметра join_field, а в tuple connection передавалось 4 элемента
Django-orm в поисках LEFT JOIN