Query Django#

This page explains the Django Internals helpers shipped by theDjango CLI Package. With a few lines of code we will be able to get Django Instance, check database conenction,list registered applications and models, inspect models and create new ones.

👉 New toApp-Generator? Sign IN withGitHub orGenerate Web Apps in no time (free service).

Import CLI Package#

Download a starter that supports the Django CLI package:Datta Able (Free) orDynamic Django (Paid) viaOnboarding Kit Bundle.Once the project is downloaded, unzip it and inspect the files.

unzipdjango-datta-able.zipcddjango-datta-ablepipinstall-rrequirements.txt

The CLI helpers are located in thecli package, root of the codebase:

Project Files#
<PROJECT_ROOT>||--cli/# CLI Package|--__init__.py# The entry point|--common.py# Constants|--h_ai_claude.py# Claude.AI Interface|--h_code_parser.py# AST-based helpers|--h_django_common.py# Manage Project dependencies|--h_django_deps.py# Manage Project dependencies|--h_django_env.py# Manage ENV|--h_django_settings.py# Manage Settings|--h_django_urls.py# Manage Routing|--h_django.py# DJANGO specific helpers|--h_files.py# Filesystem Helpers|--h_git.py# GIT Interface|--h_shell.py# Shell Interface|--h_util.py# Misc Helpers

After installing the dependencies, we can start the Python shell and import the CLI package in theDjango orPython Shell.

Import CLI helpers#
# Usage via Django Shellpythonmanage.pyshell>>>fromcliimport*# OR using the Python Shellpython# Start Python Shell>>>fromcliimport*# Import CLI Helpers>>>h_random()# Test the import by calling a helper>>>'Py8v76'

At this point, we can start using the CLI helpers.

Get Django Instance#

Using this helper, we can retrieve in the CLi an instance of Django.

get_django()#
>>>fromcliimport*>>>get_django()<django.apps.registry.Apps object at 0x000001BB8DE27A00>

Check DB Connection#

check_db_conn()#
>>>fromcliimport*>>>check_db_conn()

Get Applications#

get_apps()#
>>>fromcliimport*>>>get_apps()

Get App Models#

get_models(aApp)#
>>>fromcliimport*>>>get_models(aApp)

Get Models Name#

get_models_name(aApp)#
>>>fromcliimport*>>>get_models_name(aApp)

Get Model by Name#

get_model_by_name(aApp, aModelname)#
>>>fromcliimport*>>>get_model_by_name(aApp,aModelname)

Get Model Fields#

get_model_fields(aModelClass)#
>>>fromcliimport*>>>get_model_fields(aModelClass)

Get Model FKs#

get_model_fk(aModelClass)#
>>>fromcliimport*>>>get_model_fk(aModelClass)

Check Model Migration#

check_model_migration(aModelClass)#
>>>fromcliimport*>>>check_model_migration(aModelClass)

Extract Class Code#

extract_class_code(aFilePath, aClassName)#
>>>fromcliimport*>>>extract_class_code(aFilePath,aClassName)

Add Model to App#

add_model(aAppName, aModelName)#
>>>fromcliimport*>>>add_model(aAppName,aModelName)

Links#