Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
mod msecs 211
vec msecs 68
data()? Я часто создаю их, когда в этом появляется необходимость. По-моему, это достаточно удобно, когда роль четко отражает род данных, которые по ней можно получить. Надо просто использовать единый их источник, чтобы ничто ни с чем не путалось.P.S. Если интересно, могу рассказать о чем угодно подробнее по теме работы с моделями. Предложения принимаются.
Одни плюсы, а минусов, при этом, не замечено.Очень смелое заявление. Да, все прекрасно работает, пока вы оперируете данными в объемах до ~1000 записей. Дальше начинаются проблемы.
Пишите сортировку и фильтрацию сами на SQL.Не всегда запрашивать сервер БД каждый раз, когда пользователь выполняет сортировку — рационально. Просто вытягивание по сети этих десятков и сотен тычяч записей может оказаться дольше, чем даже не очень умелая сортировка руками. Так что, тут не все так одназначно. Иногда можно правильно отсортировать данные при запросе к БД таким образом, что любую другую сортировку можно получить, не выполняя полную пересортировку. В общем, тут далеко не все так однозначно.
Иерархические модели.О да, мне тоже всегда казалось, что они сделаны кривоваты. И этот
parent() вечно не приткнуть никуда по-нормальному. QModelIndexОни хотели сделать макисмально легковесный класс. И у них, надо сказать, это получилось. В общем, надо, конечно, знать, как с ним работать, но ничего особо страшного нет. Вот реализация
QPersistentModelIndex мне не очень-то нравится.Не всегда запрашивать сервер БД каждый раз, когда пользователь выполняет сортировку — рационально. Просто вытягивание по сети этих десятков и сотен тычяч записей может оказаться дольше, чем даже не очень умелая сортировка руками. Так что, тут не все так однозначно. Иногда можно правильно отсортировать данные при запросе к БД таким образом, что любую другую сортировку можно получить, не выполняя полную пересортировку. В общем, тут далеко не все так однозначно.Если вы сортируете или фильтруете в SQL-запросе, дишние данные остаются на сервере, не передаются. В чем плюс сортировки на SQL — повесил индексы и все работает как надо и памяти не расходует много. На клиенте придется либо иметь индексы (не знаю современных СУБД с внешними индексами) либо сортировать в памяти, т.е. все равно затащить все записи через сеть на клиента.
Использование моделей в Qt