code: def save(self, expected_value=None, return_values=None):
          
          return self.table.layer2.update_item(self, expected_value,
                                               return_values)
docs: Commits pending updates to Amazon DynamoDB.
  
          :type expected_value: dict
          :param expected_value: A dictionary of name/value pairs that
              you expect.  This dictionary should have name/value pairs
              where the name is the name of the attribute and the value is
              either the value you are expecting or False if you expect
              the attribute not to exist.
  
          :type return_values: str
          :param return_values: Controls the return of attribute name/value pairs
              before they were updated. Possible values are: None, 'ALL_OLD',
              'UPDATED_OLD', 'ALL_NEW' or 'UPDATED_NEW'. If 'ALL_OLD' is
              specified and the item is overwritten, the content of the old item
              is returned. If 'ALL_NEW' is specified, then all the attributes of
              the new version of the item are returned. If 'UPDATED_NEW' is
              specified, the new versions of only the updated attributes are
              returned.