Where to Disconnect() the `default_product_search_listener` in Satchmo
Asked Answered
S

2

0

I don't want to use the Default Satchmo 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?

Supercool answered 26/3, 2011 at 1:34 Comment(0)
S
1

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.

Supercool answered 28/3, 2011 at 20:36 Comment(0)
T
1

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

Twinberry answered 27/3, 2011 at 1:30 Comment(0)
S
1

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.

Supercool answered 28/3, 2011 at 20:36 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.