0

我一直在使用 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})

也许作为一个计时工作?

4

1 回答 1

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)
于 2011-08-02T13:35:25.070 回答