Generic relations should not try to drop their related table in "sqlreset".

Fixed #3480.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@6921 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Malcolm Tredinnick 2007-12-17 06:02:35 +00:00
parent 4c59ca6020
commit 6754be48ec
1 changed files with 3 additions and 0 deletions

View File

@ -116,6 +116,7 @@ def sql_delete(app, style):
"Returns a list of the DROP TABLE SQL statements for the given app." "Returns a list of the DROP TABLE SQL statements for the given app."
from django.db import connection, models, get_introspection_module from django.db import connection, models, get_introspection_module
from django.db.backends.util import truncate_name from django.db.backends.util import truncate_name
from django.contrib.contenttypes import generic
introspection = get_introspection_module() introspection = get_introspection_module()
# This should work even if a connection isn't available # This should work even if a connection isn't available
@ -179,6 +180,8 @@ def sql_delete(app, style):
for model in app_models: for model in app_models:
opts = model._meta opts = model._meta
for f in opts.many_to_many: for f in opts.many_to_many:
if isinstance(f.rel, generic.GenericRel):
continue
if cursor and table_name_converter(f.m2m_db_table()) in table_names: if cursor and table_name_converter(f.m2m_db_table()) in table_names:
output.append("%s %s;" % (style.SQL_KEYWORD('DROP TABLE'), output.append("%s %s;" % (style.SQL_KEYWORD('DROP TABLE'),
style.SQL_TABLE(qn(f.m2m_db_table())))) style.SQL_TABLE(qn(f.m2m_db_table()))))