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:
parent
27b41fd9de
commit
5710c6e2db
|
@ -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 = {
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue