From c36159c6d9e6d8009e24fc6d545982932b5e79e0 Mon Sep 17 00:00:00 2001 From: Jacob Kaplan-Moss Date: Sat, 4 Nov 2006 21:20:15 +0000 Subject: [PATCH] [boulder-oracle-sprint] management._get_installed_models() now handles case-insensitive database backends git-svn-id: http://code.djangoproject.com/svn/django/branches/boulder-oracle-sprint@3987 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/core/management.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/django/core/management.py b/django/core/management.py index 39574b5dca..c416c53944 100644 --- a/django/core/management.py +++ b/django/core/management.py @@ -56,12 +56,16 @@ def _is_valid_dir_name(s): def _get_installed_models(table_list): "Gets a set of all models that are installed, given a list of existing tables" - from django.db import models + from django.db import models, backend all_models = [] for app in models.get_apps(): for model in models.get_models(app): all_models.append(model) - return set([m for m in all_models if m._meta.db_table in table_list]) + if backend.uses_case_insensitive_names: + converter = str.upper + else: + converter = lambda x: x + return set([m for m in all_models if converter(m._meta.db_table) in map(converter, table_list)]) def _get_table_list(): "Gets a list of all db tables that are physically installed."