code: def put(self, *args, **kwargs):
          
          self.initialize_put(kwargs.get('id'))
  
          if not self.has_update_permission():
              self.set_status(403, self.status_message('Creation Forbidden'))
              self.finish()
              return
  
          for key, value in self.model.items():
              if self.json_arguments.get(key) != value:
                  self.model.set(key, self.json_arguments.get(key))
  
          if not self.model.dirty:
              self.set_status(431, self.status_message('No changes made'))
              self.finish(self.model.as_dict())
              return
  
          result = yield self.model.save()
          if result:
              self.set_status(200, self.status_message('Updated'))
          else:
              self.set_status(507, self.status_message('Update Failed'))
          self.add_headers()
          self.finish(self.model.as_dict())
docs: Handle updates of an item.
  
          :param args:
          :param kwargs: