Каким образом можно удалить объект из видимости одного пользователя на сайте django?
Хочу сделать на сайте возможность удалять объект из видимости пользователя. Например, есть блог, где любой незарегистрированный пользольвователь (авторизации вообще нет) может просматривать ленту новостей. Каждая новость имеет кнопку "Не интересно". Если нажать на эту кнопку, то данная новость должна исчезнуть для этого пользователя. Для остольных пользователей новость должны быть видна. Есть какие-то идеи как это можно реализовать на python django?
nik rik,
Идентификация пользователя. Тут куча вариантов на любой вкус и все это легко гуглится.
Для примера давай банально сгенерируем uuid uid = uuid.uuid4()
и запишем в куки HttpResponse.set_cookie('uid', uid )
Допустим у нас есть модель в базе
class User(models.Model):
uid= models.CharField(max_length=64)
rejected_news= models.ManyToManyField(News, null=True)
Сохраняем юзера User(uid=uid).save()
По нажатию кнопки находим новость и добавляем в отклоненные user.rejected_news.add(news)
На странице удаляем объект с новостью
При загрузке страницы первым делом ищем юзера и получаем его отклоненные новости.
Удаляем их из результатов выборки всех новостей и генерим страницу
i3a4em, Добрый день. Наконец-то дошли руки до этого. Хотел бы попросить вас о помощи, так как столкнулся с проблемой при реализации вашего варианта: при сохранении uid в таблице я получаю значения в rejected , хотя их я не указывал. User(user_uid=uid).save()
nik rik, Если вопрос еще актуален...
По факту их нет. Это сделано для того, что бы руками можно было выбрать нужное. Реально существующие связи будут выделены.