'Retrieve any constraints or keys (unique, pk, fk, check, index)
across one or more columns.
Return a dict mapping constraint names to their attributes,
where attributes is a dict with keys:
* columns: List of columns this covers
* primary_key: True if primary key, False otherwise
* unique: True if this is a unique constraint, False otherwise
* foreign_key: (table, column) of target, or None
* check: True if check constraint, False otherwise
* index: True if index, False otherwise.
* orders: The order (ASC/DESC) defined for the columns of indexes
* type: The type of the index (btree, hash, etc.)
Some backends may return special constraint names that don\'t exist
if they don\'t name constraints of a certain type (e.g. SQLite)'

def get_constraints(self, cursor, table_name):

    raise NotImplementedError('subclasses    of    BaseDatabaseIntrospection    may    require    a    get_constraints()    method')
