@pydjango
Django

Полезная информация и правила: https://github.com/amureki/django_faq Вакансии и резюме: @django_jobs Пофлудить идём сюда: @django_flood Статистика чата: combot.org/chat/-1001063854692

1741 members

Архив канала @pydjango 4 сентября 2016 г.

12:26:58 ПП
User 378433
ты просто не умеешь
12:27:02 ПП
User 378433
их готовить
01:23:37 ПП
User 100243492
умеешь
01:24:37 ПП
User 100243492
return self.model.objects.language(lang).filter(is_published=True).\
            select_related('product_type', 'product_pdf').\
            prefetch_related(
                Prefetch('purposes', Purpose.objects.language(lang).all()),
                Prefetch('standards', Standard.objects.language(lang).
                         select_related('files').prefetch_related(
                            Prefetch('norms', Norm.objects.language(lang).
                                     prefetch_related(
                                Prefetch('industries', Industry.objects.
                                         language(lang).all())))).
                         order_by('order_min').annotate(
                         order_min=Min('standards_product_standards__order')).
                         distinct()),
                Prefetch('accessories', Product.objects.language(lang).all().
                         prefetch_related('tags').order_by('order_min').
                         annotate(order_min=Min('access_product_access__order'))
                         .distinct()),
                Prefetch('features', Features.objects.language(lang).
                         order_by('order_min').annotate(
                         order_min=Min('features_product_features__order')).
                         distinct()),
                Prefetch('values', Value.objects.language(lang).
                         select_related('param').order_by('order_min').
                         annotate(order_min=Min('value_product_value__order')).
                         distinct()),
                Prefetch('specification_file', File.objects.
                         order_by('order_min').
                         annotate(order_min=Min('spec_product_spec__order')).
                         distinct()),
        )
01:27:17 ПП
User 378433
Ну и в чем проблема?
01:28:24 ПП
User 100243492
когда составляет этот хвад запросы, и формирует бд - там прочий хаос творится
01:34:10 ПП
User 378433
Какого плана хаос?
05:52:13 ПП
User 100243492
на одну созданную модельку, создается еще одна. Также собирая запрос, у тебя всегда N+1 джоин для мастер таблицы
06:57:30 ПП
User 378433
ну да. а как вы хотели то
06:57:48 ПП
User 378433
переводные данные в отдельной таблице всегда