Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Moved get_primary_key_column implementation to base

Refs #17574.
  • Loading branch information...
commit 09a99714c05316717d2797afd2e458dbf6aa880f 1 parent 3622be4
@claudep claudep authored
View
7 django/db/backends/__init__.py
@@ -1034,9 +1034,12 @@ def get_key_columns(self, cursor, table_name):
def get_primary_key_column(self, cursor, table_name):
"""
- Backends can override this to return the column name of the primary key for the given table.
+ Returns the name of the primary key column for the given table.
"""
- raise NotImplementedError
+ for column in six.iteritems(self.get_indexes(cursor, table_name)):
+ if column[1]['primary_key']:
+ return column[0]
+ return None
def get_indexes(self, cursor, table_name):
"""
View
10 django/db/backends/mysql/introspection.py
@@ -2,7 +2,6 @@
from .base import FIELD_TYPE
from django.db.backends import BaseDatabaseIntrospection
-from django.utils import six
foreign_key_re = re.compile(r"\sCONSTRAINT `[^`]*` FOREIGN KEY \(`([^`]*)`\) REFERENCES `([^`]*)` \(`([^`]*)`\)")
@@ -88,15 +87,6 @@ def get_key_columns(self, cursor, table_name):
key_columns.extend(cursor.fetchall())
return key_columns
- def get_primary_key_column(self, cursor, table_name):
- """
- Returns the name of the primary key column for the given table
- """
- for column in six.iteritems(self.get_indexes(cursor, table_name)):
- if column[1]['primary_key']:
- return column[0]
- return None
-
def get_indexes(self, cursor, table_name):
cursor.execute("SHOW INDEX FROM %s" % self.connection.ops.quote_name(table_name))
# Do a two-pass search for indexes: on first pass check which indexes
Please sign in to comment.
Something went wrong with that request. Please try again.