def update_favorites(sender, instance, signal, *args, **kwargs): print "favorites signal received for %s" % str(instance) if instance.__class__.__name__ is 'ChangeLog' or not hasattr(instance, 'History'): return 0 if ((kwargs['signal_name'] is 'post_save') and instance.id): try: ContentTypeManager().get_for_model(instance.__class__) cursor = connection.cursor() cursor.execute("UPDATE `favorites_favorite` SET `last_update` = NOW() WHERE `content_type_id` = '%d' AND `object_id` = '%d'" % (content_type.id, instance.id)) print "Updated favorites for %s" % instance.__class__.__name__ except: return 1 dispatcher.connect(update_favorites, signal=signals.post_save)