Ticket #10881: postgresql-sequence_reset_sql.diff

File postgresql-sequence_reset_sql.diff, 1.5 KB (added by jcd@…, 6 years ago)

Prevents sequence_reset_sql() from trying to handle m2ms defined with through=MyModel kwarg as m2ms.

  • operations.py

     
    121121                        style.SQL_TABLE(qn(model._meta.db_table))))
    122122                    break # Only one AutoField is allowed per model, so don't bother continuing.
    123123            for f in model._meta.many_to_many:
    124                 output.append("%s setval('%s', coalesce(max(%s), 1), max(%s) %s null) %s %s;" % \
    125                     (style.SQL_KEYWORD('SELECT'),
    126                     style.SQL_FIELD(qn('%s_id_seq' % f.m2m_db_table())),
    127                     style.SQL_FIELD(qn('id')),
    128                     style.SQL_FIELD(qn('id')),
    129                     style.SQL_KEYWORD('IS NOT'),
    130                     style.SQL_KEYWORD('FROM'),
    131                     style.SQL_TABLE(qn(f.m2m_db_table()))))
     124                if not f.rel.through:
     125                    output.append("%s setval('%s', coalesce(max(%s), 1), max(%s) %s null) %s %s;" % \
     126                        (style.SQL_KEYWORD('SELECT'),
     127                        style.SQL_FIELD(qn('%s_id_seq' % f.m2m_db_table())),
     128                        style.SQL_FIELD(qn('id')),
     129                        style.SQL_FIELD(qn('id')),
     130                        style.SQL_KEYWORD('IS NOT'),
     131                        style.SQL_KEYWORD('FROM'),
     132                        style.SQL_TABLE(qn(f.m2m_db_table()))))
    132133        return output
    133134
    134135    def savepoint_create_sql(self, sid):
Back to Top