2015-04-25 2 views
1

Я хочу систему уведомлений для своего приложения, поэтому я искал пакет django, называемый django-уведомлениями. Я все это понял, но NOTIFICATION_SOFT_DELETE = True.django-уведомления: как NOTIFICATIONS_SOFT_DELETE = True работает?

Я имею в виду, когда я делаю следующее:

from notifications import notify 
notify.send(user, recipient=user, verb='you reached level 10') 

Это сделает запись в базе данных с deleted=False, если я не ошибаюсь. У меня есть следующие в моей settings.py:

NOTIFICATIONS_SOFT_DELETE=True 

обновлений для deleted=False в deleted=True. Но я не знаю, когда это произойдет. Существует один API в документации, которая помечает все уведомления в deleted=True:

qs.mark_all_as_deleted() | qs.mark_all_as_deleted (получатель)

Отметить все уведомления в запросе (необязательно также отфильтрован на получателя) как удаленный = True. Должно использоваться с NOTIFICATIONS_SOFT_DELETE = True.

но как отметить некоторые уведомления, которые будут deleted ??

ответ

0

здесь является Официальные документы:

Мягкие удалить

По умолчанию delete/(?P<slug>\d+)/ удаляет указанную запись уведомления из БД. Вы можете изменить это поведение «пометить Notification.deleted поля True» путем:

добавить на settings.py: NOTIFICATIONS_SOFT_DELETE=True С помощью этой опции, методы QuerySet непрочитанных и чтения содержит еще один фильтр: удалены = False. Между тем, методы QuerySet, удаленные, активные, mark_all_as_deleted, mark_all_as_active, включены. Подробнее см. В разделе Методы QuerySet.

qs.mark_all_as_deleted() | qs.mark_all_as_deleted(recipient)

Отметить все уведомления в QuerySet (при необходимости также отфильтрованные получателем) как deleted=True. Должно использоваться с NOTIFICATIONS_SOFT_DELETE=True.

так, если вы хотите, чтобы отметить некоторые уведомления, которые будут удалены, вы можете сделать что-либо из этих

  1. в интерфейсе просто позвонить API из delete/(?P<slug>\d+)/
  2. на уведомления о запросах серверными и вызвать mark_all_as_deleted() или mark_all_as_deleted(recipient)
Смежные вопросы