Congrats @salvo-polizzi ! I’m really excited to work with you.
Just to be clear on what our final Shell will look like, I want to note down all the functionalities of shell_plus that we plan to add in Django Shell here. This way we can get to know the views of the community as well.
- By default, we’ll not print all model names in the Shell but it would be possible with a flag.
- Adding
SHELL_PLUS_IMPORTS
settings, see: shell_plus — django-extensions 3.2.3 documentation - Adding
SHELL_PLUS_PRINT_SQL
settings, see: shell_plus — django-extensions 3.2.3 documentation - Import all models using their full paths and then import the models in the order of the app names, starting with the first encountered app.
- User should be able to subclass the Shell command and override a method.
- By default, Django supports IPython, BPython, and standard shell runners. I believe we should enhance the current shell to allow users to add additional shell runners (jupyter notebook, ptpython etc) while preserving the auto-import functionality across all runners.