@Kt0T0

Система лайков Python?

Хочется реализовать систему лайков под постами в Telegram, пример:

60803063b8a7e095035959.png

Но вот запутался, как мне сделать для каждого поста отдельную систему лайков, что бы числа не были одинаковы!
  • Вопрос задан
  • 112 просмотров
Пригласить эксперта
Ответы на вопрос 2
yupiter7575
@yupiter7575
Python программист
База данных наше будущее!
Ответ написан
@o5a
Можно так например. Таблица для хранения лайков в разрезе поста и пользователя:
CREATE TABLE IF NOT EXISTS post_likes (
id integer primary key,
post_id integer, -- id поста
user_id integer, -- id пользователя
likes integer
);


Лайки можно записывать в одно поле "likes". 1 - лайк, 0 - ничего, -1 - дизлайк.
Соответственно чтобы собрать итоги, можно использовать такой запрос:
select sum(likes) total_score, -- общий счет
sum(case likes when 1 then 1 end) sum_likes, -- кол-во лайков
sum(case likes when -1 then 1 end) sum_dislikes -- кол-во дизлайков
from post_likes where post_id = нужный_id_поста
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы