Django

Code

Changeset 7831

Show
Ignore:
Timestamp:
07/03/08 13:42:47 (3 months ago)
Author:
ikelly
Message:

Refs #7565. Fixed Oracle sequence resetting on child models.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/db/backends/oracle/base.py

    r7790 r7831  
    163163        query = _get_sequence_reset_sql() 
    164164        for model in model_list: 
    165             for f in model._meta.fields: 
     165            for f in model._meta.local_fields: 
    166166                if isinstance(f, models.AutoField): 
     167                    table_name = self.quote_name(model._meta.db_table) 
    167168                    sequence_name = get_sequence_name(model._meta.db_table) 
    168                     column_name = self.quote_name(f.db_column or f.name
     169                    column_name = self.quote_name(f.column
    169170                    output.append(query % {'sequence': sequence_name, 
    170                                            'table': model._meta.db_table, 
     171                                           'table': table_name, 
    171172                                           'column': column_name}) 
    172173                    break # Only one AutoField is allowed per model, so don't bother continuing. 
    173174            for f in model._meta.many_to_many: 
     175                table_name = self.quote_name(f.m2m_db_table()) 
    174176                sequence_name = get_sequence_name(f.m2m_db_table()) 
    175177                output.append(query % {'sequence': sequence_name, 
    176                                        'table': f.m2m_db_table()
     178                                       'table': table_name
    177179                                       'column': self.quote_name('id')}) 
    178180        return output