Django

Code

Ticket #4057: 4057.diff

File 4057.diff, 3.8 kB (added by Gary Wilson <gary.wilson@gmail.com>, 2 years ago)

fix + regression test

  • tests/regressiontests/fixtures_regress/tests.py

    old new  
     1import unittest 
     2from django.core import management 
     3 
     4class Fixtures(unittest.TestCase): 
     5    def test_flush_with_upper_case_letter_in_app_name(self): 
     6        # We could call django.core.managment.flush() here, but it catches the 
     7        # error and prints to stderr, which won't be seen when running tests. 
     8        # Also note that the test runner might not get this far if you are 
     9        # running tests for more than just the fixtures_regress package since 
     10        # management.flush() calls elsewhere will terminate runtests with the 
     11        # same error seen here. 
     12        from django.db import connection 
     13        cursor = connection.cursor() 
     14        for sql in management.get_sql_flush(): 
     15            cursor.execute(sql) 
  • django/db/backends/postgresql/base.py

    old new  
    192192                sql.append("%s %s %s %s %s %s;" % \ 
    193193                    (style.SQL_KEYWORD('ALTER'), 
    194194                    style.SQL_KEYWORD('SEQUENCE'), 
    195                     style.SQL_FIELD('%s_%s_seq' % (table_name, column_name)), 
     195                    style.SQL_FIELD(quote_name('%s_%s_seq' % (table_name, column_name))), 
    196196                    style.SQL_KEYWORD('RESTART'), 
    197197                    style.SQL_KEYWORD('WITH'), 
    198198                    style.SQL_FIELD('1') 
     
    203203                sql.append("%s %s %s %s %s %s;" % \ 
    204204                    (style.SQL_KEYWORD('ALTER'), 
    205205                     style.SQL_KEYWORD('SEQUENCE'), 
    206                      style.SQL_FIELD('%s_id_seq' % table_name), 
     206                     style.SQL_FIELD(quote_name('%s_id_seq' % table_name)), 
    207207                     style.SQL_KEYWORD('RESTART'), 
    208208                     style.SQL_KEYWORD('WITH'), 
    209209                     style.SQL_FIELD('1') 
  • django/db/backends/postgresql_psycopg2/base.py

    old new  
    149149                sql.append("%s %s %s %s %s %s;" % \ 
    150150                    (style.SQL_KEYWORD('ALTER'), 
    151151                     style.SQL_KEYWORD('SEQUENCE'), 
    152                      style.SQL_FIELD('%s_%s_seq' % (table_name, column_name)), 
     152                     style.SQL_FIELD(quote_name('%s_%s_seq' % (table_name, column_name))), 
    153153                     style.SQL_KEYWORD('RESTART'), 
    154154                     style.SQL_KEYWORD('WITH'), 
    155155                     style.SQL_FIELD('1') 
     
    160160                sql.append("%s %s %s %s %s %s;" % \ 
    161161                    (style.SQL_KEYWORD('ALTER'), 
    162162                     style.SQL_KEYWORD('SEQUENCE'), 
    163                      style.SQL_FIELD('%s_id_seq' % table_name), 
     163                     style.SQL_FIELD(quote_name('%s_id_seq' % table_name)), 
    164164                     style.SQL_KEYWORD('RESTART'), 
    165165                     style.SQL_KEYWORD('WITH'), 
    166166                     style.SQL_FIELD('1') 
  • tests/regressiontests/fixtures_regress/models.py

    old new  
    77    def __str__(self): 
    88        return self.common_name     
    99 
     10class Plant(models.Model): 
     11    name = models.CharField(maxlength=150) 
     12 
     13    class Meta: 
     14        # For testing when upper case letter in app name. 
     15        db_table = "Fixtures_regress_plant" 
     16 
    1017__test__ = {'API_TESTS':""" 
    1118>>> from django.core import management 
    1219