diff -r e752cdf831a7 django/core/management/sql.py --- a/django/core/management/sql.py Wed Mar 23 05:06:31 2011 +0000 +++ b/django/core/management/sql.py Fri Nov 18 15:04:20 2011 +0100 @@ -147,7 +147,13 @@ def custom_sql_for_model(model, style, connection): opts = model._meta - app_dir = os.path.normpath(os.path.join(os.path.dirname(models.get_app(model._meta.app_label).__file__), 'sql')) + app_dir = os.path.dirname(models.get_app(model._meta.app_label).__file__) + + # if models is a subpackage, we remove the models/ dir from the path + if os.path.basename(app_dir) == 'models': + (app_dir, models_dir) = os.path.split(app_dir) + + app_dir = os.path.normpath(os.path.join(app_dir, 'sql')) output = [] # Post-creation SQL should come before any initial SQL data is loaded.