shell_scoped: Add --print-sql argument

This commit is contained in:
Raphael Michel
2022-04-06 18:56:18 +02:00
parent 71f5303a5e
commit 4f25d8ba89

View File

@@ -19,11 +19,13 @@
# You should have received a copy of the GNU Affero General Public License along with this program. If not, see
# <https://www.gnu.org/licenses/>.
#
import logging
import sys
from django.apps import apps
from django.core.management import call_command
from django.core.management.base import BaseCommand
from django.db import connection
from django_scopes import scope, scopes_disabled
@@ -33,6 +35,13 @@ class Command(BaseCommand):
parser.parse_args = lambda x: parser.parse_known_args(x)[0]
return parser
def add_arguments(self, parser):
parser.add_argument(
'--print-sql',
action='store_true',
help='Print all SQL queries.',
)
def handle(self, *args, **options):
try:
from django_extensions.management.commands import shell_plus # noqa
@@ -47,6 +56,11 @@ class Command(BaseCommand):
with scopes_disabled():
return call_command(cmd, *args, **options)
if options['print_sql']:
connection.force_debug_cursor = True
logger = logging.getLogger("django.db.backends")
logger.setLevel(logging.DEBUG)
lookups = {}
for flag in flags:
lookup, value = flag.lstrip("-").split("=")