开发者

Where to Disconnect() the `default_product_search_listener` in Satchmo

开发者 https://www.devze.com 2023-02-19 16:32 出处:网络
I don\'t want to use the Default Satc开发者_开发百科hmo search listener. I\'ve created my own search listener instead.

I don't want to use the Default Satc开发者_开发百科hmo search listener. I've created my own search listener instead.

Where is the best place to disconnect the default search listener?

# This is what I need to do...
from satchmo_store.shop.listeners import default_product_search_listener
application_search.disconnect(default_product_search_listener, sender=Product)

I was trying to do it in my app's __init__.py and the my app's models.py, but both of those seemed to run before Satchmo actually connects the Signal, so they don't properly disconnect things. Where can I run my disconnect code so that I can be assured Satchmo has already connected its listener?


Try swapping the order of Satchmo and your app in INSTALLED_APPS.


The answer to this question is more generally answered by Where To Put Django Startup Code.

Write middleware that does this in init and afterwards raise django.core.exceptions.MiddlewareNotUsed from the init, django will remove it for all requests...

See the Django documentation on writing your own middleware.

0

精彩评论

暂无评论...
验证码 换一张
取 消