```python3 from contextlib import contextmanager from django.db.models.signals import * @contextmanager def disable_signals(sender, receiver, *signals): if not signals: signals = [pre_init, post_init, pre_save, post_save, pre_delete, post_delete] disconnected_signals = [] for signal in signals: if signal.disconnect(receiver, sender): disconnected_signals.append(signal) try: yield finally: for signal in disconnected_signals: signal.connect(receiver, sender) # Example usage: # with disable_signals(user.__class__, some_func, post_save): # user.save() # will not call any signals ```