Size: a a a

Django [ru] #STAY HOME

2019 October 02

АВ

Александр Виноградов in Django [ru] #STAY HOME
Dan Tyan
ну вообще да
order by rand не самый производительный запрос
но простой =)
сейчас  у  меня выходит, что я всё же выбираю в список объекты (картинки) из разных каталогов, а уже из списка буду выбирать 4 случайных объекта
источник

АВ

Александр Виноградов in Django [ru] #STAY HOME
Хотя тут, наверно тоже не очень рационально, если вдруг будет 1000 каталогов по 1000 объектов, а выбрать надо 4 для показа
источник

АВ

Александр Виноградов in Django [ru] #STAY HOME
как тогда лучше сделать?
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Александр Виноградов
Хотя тут, наверно тоже не очень рационально, если вдруг будет 1000 каталогов по 1000 объектов, а выбрать надо 4 для показа
каталоги это физические папки и файлы ?
источник

АВ

Александр Виноградов in Django [ru] #STAY HOME
Dan Tyan
каталоги это физические папки и файлы ?
Это модели. Модель каталогов. Модель фотообъектов, которые входят  в каталоги
источник

АВ

Александр Виноградов in Django [ru] #STAY HOME
БД
источник

vc

vadim chin in Django [ru] #STAY HOME
медленная выборка, чтобы не соврать - лучше погуглить optimize order by rand . как вариант сделать доп поле гарантирующее что идшники идут последовательно, выбирать программно соучайно числа и по ним уже вхождение на IN , поле естественно заиндексить
источник

АВ

Александр Виноградов in Django [ru] #STAY HOME
vadim chin
медленная выборка, чтобы не соврать - лучше погуглить optimize order by rand . как вариант сделать доп поле гарантирующее что идшники идут последовательно, выбирать программно соучайно числа и по ним уже вхождение на IN , поле естественно заиндексить
а выборка 4 случайных объекта из списка содержащего, скажем, 1000 000 записей?
источник

АВ

Александр Виноградов in Django [ru] #STAY HOME
или само создание такого списка уже тяжело?
источник

АВ

Александр Виноградов in Django [ru] #STAY HOME
           catalogs = obj.catalog.all()
           photoobjects = []
           phobj_id = []
           
           for cat in catalogs:
               photoobjects.extend(cat.photoobject_set.all())
           for obj in photoobjects:
               phobj_id.append(obj.pk)

           context['phobj'] = photoobjects

Сейчас я так передаю в шаблон список фотографий из выбранных фотокаталогов. Это нормально?
источник

vc

vadim chin in Django [ru] #STAY HOME
Александр Виноградов
а выборка 4 случайных объекта из списка содержащего, скажем, 1000 000 записей?
вот вам будет чем поделится с сообществом ) просто не использовал. если у вас гарантированно автоинкрементный ид не прерывается, те фотки не удаляются, то даже поля не надо. count кстати тоже жирная операция )
источник

АВ

Александр Виноградов in Django [ru] #STAY HOME
как тогда выбрать 4 случайных объекта из разных каталогов минимальными силами?
источник

АВ

Александр Виноградов in Django [ru] #STAY HOME
Сейчас решил делать так. Получаю photoobjects это список объектов. Создаю список случайных индексов и уже по индексам отбираю из списка объектов
источник

АВ

Александр Виноградов in Django [ru] #STAY HOME
Но это, если сам способ получения photoobjects у меня не жирный
источник

vc

vadim chin in Django [ru] #STAY HOME
Александр Виноградов
как тогда выбрать 4 случайных объекта из разных каталогов минимальными силами?
пока деньги оь проекта не идут, order by rand. но помнить чтобы было чем блеснуть перед коллегами за пивком ))
источник

АВ

Александр Виноградов in Django [ru] #STAY HOME
vadim chin
пока деньги оь проекта не идут, order by rand. но помнить чтобы было чем блеснуть перед коллегами за пивком ))
у меня нет коллег.  Это мой сайт и вообще я не из ИТ сферы)
источник

vc

vadim chin in Django [ru] #STAY HOME
ну в общем если нагрузка ге ощущается пока не надо тратить время, потом может стать узктм местом
источник

1

1syabdu in Django [ru] #STAY HOME
Блин жалко здесь опросы не проводятся)
источник

vc

vadim chin in Django [ru] #STAY HOME
запоминаем и разгребаем постепенно )
источник

АВ

Александр Виноградов in Django [ru] #STAY HOME
Если будет интересно, вот мой мой сайт. Делаю ветку addlastjobindex. Надо на главную страницу добавить блок со случайными работами из альбомов.
https://github.com/Ruchey/skb
источник