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.
