diff options
| author | Gary Wilson Jr <gary.wilson@gmail.com> | 2008-02-01 17:32:29 +0000 |
|---|---|---|
| committer | Gary Wilson Jr <gary.wilson@gmail.com> | 2008-02-01 17:32:29 +0000 |
| commit | cc7c6f3e46777c8d57a857eefb40a58c31556fc6 (patch) | |
| tree | b20eb1104ad58d76e8e342c87a2e6c9b5fbeadcf /tests | |
| parent | 0e81ad4e668a160e4782da0c41f229ec88288550 (diff) | |
Fixed #5422 -- Added a `raw` parameter to model `pre_save` and `post_save` signals, based on patch from `graham.carlyle@maplecroft.net`.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7054 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/modeltests/signals/models.py | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/tests/modeltests/signals/models.py b/tests/modeltests/signals/models.py index 1fb73828bb..5b0f5f2285 100644 --- a/tests/modeltests/signals/models.py +++ b/tests/modeltests/signals/models.py @@ -13,8 +13,16 @@ class Person(models.Model): return u"%s %s" % (self.first_name, self.last_name) +def pre_save_nokwargs_test(sender, instance): + print 'pre_save_nokwargs signal' + +def post_save_nokwargs_test(sender, instance): + print 'post_save_nokwargs signal' + def pre_save_test(sender, instance, **kwargs): print 'pre_save signal,', instance + if kwargs.get('raw'): + print 'Is raw' def post_save_test(sender, instance, **kwargs): print 'post_save signal,', instance @@ -23,16 +31,20 @@ def post_save_test(sender, instance, **kwargs): print 'Is created' else: print 'Is updated' + if kwargs.get('raw'): + print 'Is raw' def pre_delete_test(sender, instance, **kwargs): print 'pre_delete signal,', instance - print 'instance.id is not None: %s' % (instance.id != None) + print 'instance.id is not None: %s' % (instance.id != None) def post_delete_test(sender, instance, **kwargs): print 'post_delete signal,', instance - print 'instance.id is None: %s' % (instance.id == None) + print 'instance.id is None: %s' % (instance.id == None) __test__ = {'API_TESTS':""" +>>> dispatcher.connect(pre_save_nokwargs_test, signal=models.signals.pre_save) +>>> dispatcher.connect(post_save_nokwargs_test, signal=models.signals.post_save) >>> dispatcher.connect(pre_save_test, signal=models.signals.pre_save) >>> dispatcher.connect(post_save_test, signal=models.signals.post_save) >>> dispatcher.connect(pre_delete_test, signal=models.signals.pre_delete) @@ -40,15 +52,28 @@ __test__ = {'API_TESTS':""" >>> p1 = Person(first_name='John', last_name='Smith') >>> p1.save() +pre_save_nokwargs signal pre_save signal, John Smith +post_save_nokwargs signal post_save signal, John Smith Is created >>> p1.first_name = 'Tom' >>> p1.save() +pre_save_nokwargs signal +pre_save signal, Tom Smith +post_save_nokwargs signal +post_save signal, Tom Smith +Is updated + +>>> p1.save(raw=True) +pre_save_nokwargs signal pre_save signal, Tom Smith +Is raw +post_save_nokwargs signal post_save signal, Tom Smith Is updated +Is raw >>> p1.delete() pre_delete signal, Tom Smith @@ -59,13 +84,17 @@ instance.id is None: False >>> p2 = Person(first_name='James', last_name='Jones') >>> p2.id = 99999 >>> p2.save() +pre_save_nokwargs signal pre_save signal, James Jones +post_save_nokwargs signal post_save signal, James Jones Is created >>> p2.id = 99998 >>> p2.save() +pre_save_nokwargs signal pre_save signal, James Jones +post_save_nokwargs signal post_save signal, James Jones Is created @@ -78,6 +107,8 @@ instance.id is None: False >>> Person.objects.all() [<Person: James Jones>] +>>> dispatcher.disconnect(pre_save_nokwargs_test, signal=models.signals.pre_save) +>>> dispatcher.disconnect(post_save_nokwargs_test, signal=models.signals.post_save) >>> dispatcher.disconnect(post_delete_test, signal=models.signals.post_delete) >>> dispatcher.disconnect(pre_delete_test, signal=models.signals.pre_delete) >>> dispatcher.disconnect(post_save_test, signal=models.signals.post_save) |
