From f91247f59824522ceef67cac0def8253cf491f6a Mon Sep 17 00:00:00 2001 From: Alex Hill Date: Fri, 20 May 2016 18:21:20 +1000 Subject: [1.10.x] Fixed #26642 -- Made ModelSignal.disconnect() work with lazy references. Backport of ff6c6feae17120c2c7df74fb6a9dc76826a1e233 from master --- tests/signals/tests.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'tests') diff --git a/tests/signals/tests.py b/tests/signals/tests.py index fd18b2191a..6452e138b4 100644 --- a/tests/signals/tests.py +++ b/tests/signals/tests.py @@ -301,3 +301,19 @@ class LazyModelRefTest(BaseSignalTest): }]) finally: signals.post_init.disconnect(self.receiver, sender=Created) + + @isolate_apps('signals', kwarg_name='apps') + def test_disconnect(self, apps): + received = [] + + def receiver(**kwargs): + received.append(kwargs) + + signals.post_init.connect(receiver, sender='signals.Created', apps=apps) + signals.post_init.disconnect(receiver, sender='signals.Created', apps=apps) + + class Created(models.Model): + pass + + Created() + self.assertEqual(received, []) -- cgit v1.3