Changed get_indexes() hook from [2346] to return 'primary_key' instead of 'keyname'

git-svn-id: http://code.djangoproject.com/svn/django/trunk@2348 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2006-02-18 21:57:38 +00:00
parent 27b41fd9de
commit 5710c6e2db
2 changed files with 3 additions and 3 deletions

View File

@ -139,13 +139,13 @@ def get_indexes(cursor, table_name):
"""
Returns a dictionary of fieldname -> infodict for the given table,
where each infodict is in the format:
{'keyname': 'name of key',
{'primary_key': boolean representing whether it's the primary key,
'unique': boolean representing whether it's a unique index}
"""
cursor.execute("SHOW INDEX FROM %s" % DatabaseWrapper().quote_name(table_name))
indexes = {}
for row in cursor.fetchall():
indexes[row[4]] = {'keyname': row[2], 'unique': not bool(row[1])}
indexes[row[4]] = {'primary_key': (row[2] == 'PRIMARY'), 'unique': not bool(row[1])}
return indexes
OPERATOR_MAPPING = {

View File

@ -636,7 +636,7 @@ def inspectdb(db_name):
# Add primary_key and unique, if necessary.
column_name = extra_params.get('db_column', att_name)
if column_name in indexes:
if indexes[column_name]['keyname'] == 'PRIMARY':
if indexes[column_name]['primary_key']:
extra_params['primary_key'] = True
elif indexes[column_name]['unique']:
extra_params['unique'] = True