我一直在使用django-notification(https://github.com/jtauber/django-notification.git),但文档对初学者来说有点简短。
我希望能够让用户密切关注在搜索时没有结果的搜索(包含产品详情的结果页面)。然后,如果添加了与搜索匹配的记录,则应通知用户。
我找不到任何关于如何使用'观察'的在线解释,我认为这是我需要用来观察出现的记录(在搜索结果中)?也许,这是错误的方法(使用django-notification),因为我需要一个信号来等待最初不包含任何对象的过滤结果的出现......
(该项目太开发了,无法考虑像Pinax这样的选项为这样的事情提供模板)
我想我需要评估
f=Products.objects.filter({search_request_args})
if f:
notification.send([request.user], "product_match", {"from_user": settings.FROM_DEFAULT})
也许作为一项计时工作?
答案 0 :(得分:1)
看起来你想使用django信号(参见:https://docs.djangoproject.com/en/dev/topics/signals/)
假设您要观看Product
个对象的创建
from django.db.models.signals import post_save
from my_app.models import Product
def new_product(sender, instance, created, **kwargs):
# short-circuit the function if it isn't a new product (it's
# being updated not created)
if not created: return
# note: instance is the newly saved Product object
if (check_if_the_new_product_matches_searches_here):
notification.send(...)
post_save.connect(new_product, sender=Product)