Skip to content

Commit

Permalink
Fixed #20829 -- Skip postgis metadata tables with introspection
Browse files Browse the repository at this point in the history
  • Loading branch information
Urth authored and claudep committed Aug 16, 2013
1 parent 165f44a commit 2408861
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 1 deletion.
8 changes: 8 additions & 0 deletions django/contrib/gis/db/backends/postgis/introspection.py
Expand Up @@ -9,6 +9,14 @@ class PostGISIntrospection(DatabaseIntrospection):
# introspection is actually performed.
postgis_types_reverse = {}

ignored_tables = DatabaseIntrospection.ignored_tables + [
'geography_columns',
'geometry_columns',
'raster_columns',
'spatial_ref_sys',
'raster_overviews',
]

def get_postgis_types(self):
"""
Returns a dictionary with keys that are the PostgreSQL object
Expand Down
4 changes: 3 additions & 1 deletion django/db/backends/postgresql_psycopg2/introspection.py
Expand Up @@ -26,6 +26,8 @@ class DatabaseIntrospection(BaseDatabaseIntrospection):
1700: 'DecimalField',
}

ignored_tables = []

def get_table_list(self, cursor):
"Returns a list of table names in the current database."
cursor.execute("""
Expand All @@ -35,7 +37,7 @@ def get_table_list(self, cursor):
WHERE c.relkind IN ('r', 'v', '')
AND n.nspname NOT IN ('pg_catalog', 'pg_toast')
AND pg_catalog.pg_table_is_visible(c.oid)""")
return [row[0] for row in cursor.fetchall()]
return [row[0] for row in cursor.fetchall() if row[0] not in self.ignored_tables]

def get_table_description(self, cursor, table_name):
"Returns a description of the table, with the DB-API cursor.description interface."
Expand Down

0 comments on commit 2408861

Please sign in to comment.