'Returns any ALTER TABLE statements to add constraints after the fact.'

def sql_for_pending_references(self, model, style, pending_references):

    from django.db.backends.util import truncate_name
    if ((not model._meta.managed) or model._meta.proxy):
        return []
    qn = self.connection.ops.quote_name
    final_output = []
    opts = model._meta
    if (model in pending_references):
        for (rel_class, f) in pending_references[model]:
            rel_opts = rel_class._meta
            r_table = rel_opts.db_table
            r_col = f.column
            table = opts.db_table
            col = opts.get_field(f.rel.field_name).column
            r_name = ('%s_refs_%s_%s' % (r_col, col, self._digest(r_table, table)))
            final_output.append((style.SQL_KEYWORD('ALTER    TABLE') + ('    %s    ADD    CONSTRAINT    %s    FOREIGN    KEY    (%s)    REFERENCES    %s    (%s)%s;' % (qn(r_table), qn(truncate_name(r_name, self.connection.ops.max_name_length())), qn(r_col), qn(table), qn(col), self.connection.ops.deferrable_sql()))))
        del pending_references[model]
    return final_output
