Introduction
How often do you find yourself wanting to test something quickly with the Django ORM? Possibly some relationship, or a query? How often have you wondered how many queries some queryset or block executes?
If you’re anything like me, you either have some sandbox app in a dummy project that you use as a container for testing; or you create random throw-away projects, with the overhead of setting up the models, generating the migrations, filling the data, prepping some functions to run, running them in the shell and/or via some view with Django Debug Toolbar loaded.
This rings true even more to those of us that help folks using Django daily on different platforms. We need a way to iterate and quickly run on code shared by others. For that reason, I created DryORM.
DryORM is a playground that allows you to setup django models and run queries against them fairly quickly, all the while showing you the output and the queries that were generated during the execution. You do not need to setup a project and you do not need to login; It's very quick and simple. Here are some existing snippets that you can load and run:
I hope you like it and if you'd like to talk about it further, you can reach out to me on the forums or on discord
You can also toss is a star on GitHub and spread the word if you're feeling generous!
Features
- Write and execute Django ORM/transaction code in a single editor screen
- Target different databases (sqlite, postgres, mariadb)
- View, filter and copy queries output
- View and copy console output
- View model relationship diagram
- View output as a rendered table
- Experimental one-off template rendering
- Share your snippets with friends and colleagues (public or private)
- Select from existing code templates
- View public snippet feed
additionally,
- Ctrl+Enter and CMD+Enter will run the snippets
- Results are cached for faster subsequent runs
- Support for small screens
- Support for autorunning snippets on-load (append
?run
to snippet url) - Builtin safeguards (10 concurrent executions, 10s timeout, 75MB memory limit, no network)
Supported Dependencies
- Python Version: 3.12
- Django Version: 5.2
- SQL Databases: SQLite / Postgres 17.4 / MariaDB 11.4.5
- Loaded Libraries: Faker / Tabulate