code: def delete_item2(self, tablename, key, expr_values=None, alias=None,
                       condition=None, returns=NONE, return_capacity=None,
                       return_item_collection_metrics=NONE, **kwargs):
          keywords = {
              'TableName': tablename,
              'Key': self.dynamizer.encode_keys(key),
              'ReturnValues': returns,
              'ReturnConsumedCapacity': self._default_capacity(return_capacity),
              'ReturnItemCollectionMetrics': return_item_collection_metrics,
          }
          values = build_expression_values(self.dynamizer, expr_values, kwargs)
          if values:
              keywords['ExpressionAttributeValues'] = values
          if alias:
              keywords['ExpressionAttributeNames'] = alias
          if condition:
              keywords['ConditionExpression'] = condition
          result = self.call('delete_item', **keywords)
          if result:
              return Result(self.dynamizer, result, 'Attributes')