Created
September 9, 2013 17:33
-
-
Save shadow-identity/6498880 to your computer and use it in GitHub Desktop.
signal
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@receiver([post_save, post_delete]) | |
def save_change_of_state(sender, **kwargs): | |
if sender != State: | |
try: | |
rec_id = kwargs['instance'].id | |
if not 'created' in kwargs: # this was deletion | |
State(record_id=rec_id, model=sender, state='deleted').save() | |
print 'deleted' | |
elif kwargs['created']: # creation of new record | |
State(record_id=rec_id, model=sender, state='created').save() | |
print 'created' | |
else: # changing of existing record | |
State(record_id=rec_id, model=sender, state='changed').save() | |
print 'changed' | |
except TypeError: | |
pass | |
except AttributeError: | |
pass | |
except DatabaseError: | |
pass |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment