Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit f1921be

Browse files
committed
Merge pull request #3 from wesleykendall/develop
Signals use dispatch_uid to prevent multiple firings
2 parents 67504c2 + e48fe0f commit f1921be

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

Diff for: entity/models.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ def sync_entities_signal_handler(sender):
239239
sync_entities()
240240

241241

242-
@receiver(post_delete)
242+
@receiver(post_delete, dispatch_uid='delete_entity_signal_handler')
243243
def delete_entity_signal_handler(sender, *args, **kwargs):
244244
"""
245245
Defines a signal handler for syncing an individual entity. Called when
@@ -248,7 +248,7 @@ def delete_entity_signal_handler(sender, *args, **kwargs):
248248
sync_entity_signal_handler(sender, kwargs['instance'], True)
249249

250250

251-
@receiver(post_save)
251+
@receiver(post_save, dispatch_uid='save_entity_signal_handler')
252252
def save_entity_signal_handler(sender, *args, **kwargs):
253253
"""
254254
Defines a signal handler for saving an entity. Syncs the entity to
@@ -257,7 +257,7 @@ def save_entity_signal_handler(sender, *args, **kwargs):
257257
sync_entity_signal_handler(sender, kwargs['instance'], False)
258258

259259

260-
@receiver(post_bulk_operation)
260+
@receiver(post_bulk_operation, dispatch_uid='post_bulk_operation_signal_handler')
261261
def bulk_operation_signal_handler(sender, *args, **kwargs):
262262
"""
263263
When a bulk operation has happened on a model, sync all the entities again.

Diff for: setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
setup(
55
name='django-entity',
6-
version='0.1',
6+
version='0.2',
77
description='Entity relationship management for Django',
88
long_description='''
99
Django entity provides methods and models to mirror entities and

Diff for: test_project/tests/sync_tests.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ class TestSyncAllEntities(EntityTestCase):
1919
def setUp(self):
2020
super(TestSyncAllEntities, self).setUp()
2121
# Disconnect signal handlers to test syncing all entities
22-
post_delete.disconnect(delete_entity_signal_handler)
23-
post_save.disconnect(save_entity_signal_handler)
22+
post_delete.disconnect(delete_entity_signal_handler, dispatch_uid='delete_entity_signal_handler')
23+
post_save.disconnect(save_entity_signal_handler, dispatch_uid='save_entity_signal_handler')
2424

2525
def test_sync_entities_management_command(self):
2626
"""

0 commit comments

Comments
 (0)