'Returns the fields necessary to make a key for a table.
If the ``Table`` does not already have a populated ``schema``,
this will request it via a ``Table.describe`` call.
Returns a list of fieldnames (strings).
Example::
# A simple hash key.
>>> users.get_key_fields()
[\'username\']
# A complex hash+range key.
>>> users.get_key_fields()
[\'username\', \'last_name\']'

def get_key_fields(self):

    if (not self.schema):
        self.describe()
    return [field.name for field in self.schema]
