Кратко о проекте. Обычный сайт новостей на джанго, где каждая новость сортируется по дате выхода.
Нужно реализовать возможность альтернативной сортировки, не по дате, а с возможность одну новость поднимать выше другой, или опускать на одну новость ниже.
На главной странице, не в админке.
Из моих идей и мыслей: в Модели добавить поле ordering = models.PositiveIntegerField(), и чтоб в это поле при добавлении каждой новости — скрыто добавлялся индекс (ordering), типа по порядку, функцией - "Общее количество индексов" + 1. А потом, при нажатии на стрелку вниз (на самой новости) новость опускается ниже, меняя местами индексы с нижестоящей новостью.
Вот такая идея для такой сортировки.
Может есть идеи попроще у кого?? Или может кто уже сталкивался и делал подобную реализацию для смены порядка отображения Новостей??
Любые советы, любая помощь — приветствуется. Не будьте равнодушными.
Можно попробовать добавить поле priority_offset(IntegerField) для каждой новости. На странице сортируете новсти по id новости + priority_offset. В итоге новости будут сортироваться по возрасту и вашему приоритету.
RabbitRun9, когда нажимаете на кнопку вверх, то priority_offset += 1, когда вниз - priority_offset -= 1. Можно сделать отдельный view для post запросов под это, куда отправлять форму из шаблона с id новости и изменением priority_offset