本文整理匯總了Python中notifications.models.Notification.set_metadata方法的典型用法代碼示例。如果您正苦於以下問題:Python Notification.set_metadata方法的具體用法?Python Notification.set_metadata怎麽用?Python Notification.set_metadata使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類notifications.models.Notification
的用法示例。
在下文中一共展示了Notification.set_metadata方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: notify_people
# 需要導入模塊: from notifications.models import Notification [as 別名]
# 或者: from notifications.models.Notification import set_metadata [as 別名]
def notify_people(request, key, species, obj, users, metadata=None):
for user in users:
if request and user == request.user:
continue
n = Notification(key=key, species=species, linked_object=obj, user=user)
n.save()
if metadata:
n.set_metadata(metadata)
n.save()
try:
notification_restriction, __ = NotificationRestriction.objects.get_or_create(user=user, key=key)
except NotificationRestriction.MultipleObjectsReturned:
NotificationRestriction.objects.filter(user=user, key=key).delete()
notification_restriction, __ = NotificationRestriction.objects.get_or_create(user=user, key=key)
notification_restriction_all, __ = NotificationRestriction.objects.get_or_create(user=user, key='')
if notification_restriction.autoread or notification_restriction_all.autoread:
n.seen = True
n.save()
if not notification_restriction.no_email and not notification_restriction_all.no_email and Notification.objects.filter(key=key, species=species, object_id=obj.pk, content_type=ContentType.objects.get_for_model(obj), user=user, seen=False).count() == 1:
NotificationEmail(user=user, notification=n).save()