@receiver([models.signals.post_delete, models.signals.post_save], sender=ExtensionVersion, dispatch_uid='extension_version_change')
def update_extension_status_and_manifest_fields(sender, instance, **kw):
 instance.extension.update_status_according_to_versions()
 if (instance.status == STATUS_PUBLIC):
  instance.extension.update_manifest_fields_from_latest_public_version()

@ receiver ( [ models . signals . post_delete , models . signals . post_save ] , sender = ExtensionVersion , dispatch_uid = 'extension_version_change' ) def update_extension_status_and_manifest_fields ( sender , instance , ** kw ) : instance . extension . update_status_according_to_versions ( ) if ( instance . status == STATUS_PUBLIC ) : instance . extension . update_manifest_fields_from_latest_public_version ( )
update extension status as well as fields for which the manifest is the source of truth when an extensionversion is made public or was public and is deleted .