DryORM
Code
Result
no cache
SQLite
PostgreSQL 17.4
MariaDB 11.4.5
Select a template
dryorm features
basic
bulk create
bulk fake
csv import
basic fk
self fk
user profile
dryorm tabular output
from django.db import models from django.test import Client from django.urls import path from django.contrib.auth.models import User from django.views.generic import DetailView class Book(models.Model): title = models.CharField(max_length=200) price = models.DecimalField(max_digits=6, decimal_places=2) class Reviews(models.Model): book = models.ForeignKey(Book, on_delete=models.CASCADE, related_name="reviews") review = models.CharField(max_length=255) author = models.ForeignKey(User, on_delete=models.CASCADE) class BookDetailView(DetailView): model = Book template_name = "book_detail.html" queryset = Book.objects.prefetch_related("reviews__author") urlpatterns = [ path("book/<pk>", BookDetailView.as_view()), ] def run(): users = User.objects.bulk_create([ User(username="reviewer1"), User(username="reviewer2"), User(username="reviewer3"), ]) books = Book.objects.bulk_create([ Book(title="Django for Pros", price=39.99), Book(title="Mastering Python", price=45.50), Book(title="API Development with Django", price=29.99), ]) Reviews.objects.bulk_create([ Reviews(book_id=1, review="Excellent book for Django developers!", author_id=1), Reviews(book_id=1, review="Well structured and practical.", author_id=2), Reviews(book_id=2, review="Great for intermediate Python learners.", author_id=3), Reviews(book_id=2, review="Very comprehensive and detailed.", author_id=1), Reviews(book_id=3, review="Perfect guide for building APIs.", author_id=2), Reviews(book_id=3, review="Simple and clear explanations.", author_id=3), ]) # Template with open("templates/book_detail.html", "w") as f: f.write(""" <h1>Book Detail</h1> <div> {% if book.cover %} <img class="bookcover" src="{{ book.cover.url }}" alt="{{ book.title }}"> {% endif %} <h2><a href="">{{ book.title }}</a></h2> <p>Author: {{ book.author }}</p> <p>Price: {{ book.price }}</p> <div> <h3>Reviews</h3> <ul> {% for review in book.reviews.all %} <li>{{ review.review }} -- {{ review.author }}</li> {% endfor %} </ul> </div> </div> """) return Client().get("/book/1").content.decode()
Output
Show Template
No output.
Queries
TCL
T
DDL
D
SELECT
S
INSERT
I
UPDATE
U
DELETE
D
Queries
Q
(
0
)
No queries.
✖ Close
Save & Share
✖
private?
Save
Save & Copy