corpus.blog
Most cited
Talked about
Blogs
41554 blogs · [ { "id": "01a0878f-8a27-70a6-ace0-50d8a039026e", "title": "Django Custom Managers Are Silently Leaking Data", "url": "https://johnnymetz.com/posts/django-custom-managers-data-leak/", "published_at": "2026-03-22T07:12:00+00:00" }, { "id": "01a0878f-8a27-70a6-ace0-50d8a1305752", "title": "Django Time-Based Lookups: A Performance Trap", "url": "https://johnnymetz.com/posts/django-time-based-lookups-performance/", "published_at": "2026-01-19T07:00:00+00:00" }, { "id": "01a0878f-8a27-70a6-ace0-50d8a227c116", "title": "Avoiding Duplicate Objects in Django Querysets", "url": "https://johnnymetz.com/posts/avoiding-duplicate-objects-in-django-querysets/", "published_at": "2026-01-03T07:00:00+00:00" }, { "id": "01a0878f-8a27-70a6-ace0-50d8a28e03db", "title": "7 Heroku Features Every Developer Should Be Using", "url": "https://johnnymetz.com/posts/heroku-features-you-should-be-using/", "published_at": "2025-09-13T18:00:00+00:00" }, { "id": "01a0878f-8a27-70a6-ace0-50d8a2e1e7df", "title": "The Django db_default Gotcha That Breaks Your Code", "url": "https://johnnymetz.com/posts/django-db-default-gotcha/", "published_at": "2025-08-03T20:46:58+00:00" }, { "id": "01a0878f-8a27-70a6-ace0-50d8a32548b8", "title": "Stop Using Django's squashmigrations: There's a Better Way", "url": "https://johnnymetz.com/posts/squash-django-migrations/", "published_at": "2025-07-27T00:00:00+00:00" }, { "id": "01a0878f-8a27-70a6-ace0-50d8a3feaf40", "title": "Speed Up Django Queries with values() over only()", "url": "https://johnnymetz.com/posts/django-values-over-only/", "published_at": "2025-06-29T20:11:26+00:00" }, { "id": "01a0878f-8a27-70a6-ace0-50d8a4603e95", "title": "Avoiding PostgreSQL Pitfalls: The Hidden Cost of Failing Inserts", "url": "https://johnnymetz.com/posts/postgresql-failing-insert/", "published_at": "2025-06-16T01:00:00+00:00" }, { "id": "01a0878f-8a27-70a6-ace0-50d8a463fa17", "title": "Disable Redundant Gunicorn Access Logs on Heroku", "url": "https://johnnymetz.com/posts/disable-gunicorn-access-logs/", "published_at": "2024-11-25T20:00:00+00:00" }, { "id": "01a0878f-8a27-70a6-ace0-50d8a55a361f", "title": "5 Ways to Get the Latest Book Per Author in Django", "url": "https://johnnymetz.com/posts/latest-book-per-author/", "published_at": "2024-11-14T19:00:00+00:00" }, { "id": "01a0878f-8a27-70a6-ace0-50d8a6336724", "title": "Zero Downtime Django Deployments with Multistep Database Changes", "url": "https://johnnymetz.com/posts/multistep-database-changes/", "published_at": "2024-10-27T19:00:00+00:00" }, { "id": "01a0878f-8a27-70a6-ace0-50d8a656f009", "title": "Mastering Code Search with JetBrains Scope", "url": "https://johnnymetz.com/posts/jetbrains-scope/", "published_at": "2023-09-30T14:55:29+00:00" }, { "id": "01a0878f-8a28-7267-9278-c6549c944475", "title": "Supercharge Your Django App: 7 Sneaky Tricks to Crush Slow Database Queries", "url": "https://johnnymetz.com/posts/slow-django-database-queries/", "published_at": "2023-08-13T16:15:13+00:00" }, { "id": "01a0878f-8a28-7267-9278-c6549ca82fc8", "title": "Optimize Django Query Performance by combining Select Related and Prefetch Related", "url": "https://johnnymetz.com/posts/combine-select-related-prefetch-related/", "published_at": "2023-05-13T19:48:39+00:00" }, { "id": "01a0878f-8a28-7267-9278-c6549d34a8ed", "title": "Free up disk space with Docker prune", "url": "https://johnnymetz.com/posts/docker-prune/", "published_at": "2023-01-21T19:11:25+00:00" }, { "id": "01a0878f-8a28-7267-9278-c6549d975183", "title": "[Cross-Post] Django performance: Sort by a Custom Order", "url": "https://johnnymetz.com/posts/sort-django-queryset-by-custom-order/", "published_at": "2023-01-03T01:00:00+00:00" }, { "id": "01a0878f-8a28-7267-9278-c6549e36572b", "title": "Disable a direct push to GitHub main branch", "url": "https://johnnymetz.com/posts/disable-direct-push-to-main-branch/", "published_at": "2022-12-29T18:36:08+00:00" }, { "id": "01a0878f-8a28-7267-9278-c6549e987dd2", "title": "Using Hadolint, a Dockerfile linter, To Enforce Best Practices", "url": "https://johnnymetz.com/posts/hadolint/", "published_at": "2022-03-18T02:32:01+00:00" }, { "id": "01a0878f-8a28-7267-9278-c6549f201f83", "title": "Dockerize a Next.js app using multi-stage builds", "url": "https://johnnymetz.com/posts/dockerize-nextjs-app/", "published_at": "2022-02-26T09:14:31+00:00" }, { "id": "01a0878f-8a28-7267-9278-c6549fc475a5", "title": "Dockerize your Cypress tests", "url": "https://johnnymetz.com/posts/dockerize-your-cypress-tests/", "published_at": "2022-02-01T05:08:44+00:00" }, { "id": "01a0878f-8a28-7267-9278-c6549fe0a59e", "title": "Free up Django CPU usage in Docker with Watchman", "url": "https://johnnymetz.com/posts/free-up-django-cpu-usage-in-docker-with-watchman/", "published_at": "2022-01-05T07:27:56+00:00" }, { "id": "01a0878f-8a28-7267-9278-c654a07bc2bb", "title": "Set Django Model Field Choices in your Frontend the Right Way", "url": "https://johnnymetz.com/posts/set-django-model-field-choices-in-frontend/", "published_at": "2021-12-01T18:31:13+00:00" }, { "id": "01a0878f-8a28-7267-9278-c654a0f1c790", "title": "5 ways to get all Django objects with a related object", "url": "https://johnnymetz.com/posts/five-ways-to-get-django-objects-with-a-related-object/", "published_at": "2021-10-01T20:08:48+00:00" }, { "id": "01a0878f-8a28-7267-9278-c654a1cb36db", "title": "Why you need to use Subqueries in Django", "url": "https://johnnymetz.com/posts/why-you-need-to-use-django-subqueries/", "published_at": "2021-07-21T18:56:09+00:00" }, { "id": "01a0878f-8a28-7267-9278-c654a201fa4a", "title": "Check your Django Migrations on every commit", "url": "https://johnnymetz.com/posts/check-django-migrations/", "published_at": "2021-05-08T19:10:47+00:00" }, { "id": "01a0878f-8a28-7267-9278-c654a299c7ae", "title": "Find all N+1 violations in your Django app", "url": "https://johnnymetz.com/posts/find-nplusone-violations/", "published_at": "2021-04-14T07:10:50+00:00" }, { "id": "01a0878f-8a28-7267-9278-c654a31b48e4", "title": null, "url": "https://johnnymetz.com/about/", "published_at": null }, { "id": "01a0878f-8a28-7267-9278-c654a3414e29", "title": "Subscribe", "url": "https://johnnymetz.com/subscribe/", "published_at": null } ] posts
Claim your blog
Back to Johnny Metz
Blog · corpus.blog/blogs/johnnymetz.com/posts
Johnny Metz
johnnymetz.com
2026
Django Custom Managers Are Silently Leaking Data
original ↗
22 Mar 2026
Django Time-Based Lookups: A Performance Trap
original ↗
19 Jan 2026
Avoiding Duplicate Objects in Django Querysets
original ↗
3 Jan 2026
2025
7 Heroku Features Every Developer Should Be Using
original ↗
13 Sept 2025
The Django db_default Gotcha That Breaks Your Code
original ↗
3 Aug 2025
Stop Using Django's squashmigrations: There's a Better Way
original ↗
27 Jul 2025
Speed Up Django Queries with values() over only()
original ↗
29 Jun 2025
Avoiding PostgreSQL Pitfalls: The Hidden Cost of Failing Inserts
original ↗
16 Jun 2025
2024
Disable Redundant Gunicorn Access Logs on Heroku
original ↗
25 Nov 2024
5 Ways to Get the Latest Book Per Author in Django
original ↗
14 Nov 2024
Zero Downtime Django Deployments with Multistep Database Changes
original ↗
27 Oct 2024
2023
Mastering Code Search with JetBrains Scope
original ↗
30 Sept 2023
Supercharge Your Django App: 7 Sneaky Tricks to Crush Slow Database Queries
original ↗
13 Aug 2023
Optimize Django Query Performance by combining Select Related and Prefetch Related
original ↗
13 May 2023
Free up disk space with Docker prune
original ↗
21 Jan 2023
[Cross-Post] Django performance: Sort by a Custom Order
original ↗
3 Jan 2023
2022
Disable a direct push to GitHub main branch
original ↗
29 Dec 2022
Using Hadolint, a Dockerfile linter, To Enforce Best Practices
original ↗
18 Mar 2022
Dockerize a Next.js app using multi-stage builds
original ↗
26 Feb 2022
Dockerize your Cypress tests
original ↗
1 Feb 2022
Free up Django CPU usage in Docker with Watchman
original ↗
5 Jan 2022
2021
Set Django Model Field Choices in your Frontend the Right Way
original ↗
1 Dec 2021
5 ways to get all Django objects with a related object
original ↗
1 Oct 2021
Why you need to use Subqueries in Django
original ↗
21 Jul 2021
Check your Django Migrations on every commit
original ↗
8 May 2021
Find all N+1 violations in your Django app
original ↗
14 Apr 2021
Undated
https://johnnymetz.com/about/
original ↗
—
Subscribe
original ↗
—