Why I Love Building with Django#Technology
Oct 19, 2026 6 0
Share

Why I Love Building with Django

Why I pick Django: admin and security out of the box, a fast ORM when used right, multilingual support, DRF and Celery — and the downsides.

Otabek Xurramov
Python Backend Developer · Startup CEO
2 min read

As a backend developer I've tried several frameworks, yet I keep coming back to Django for new projects. It's not habit — it's arithmetic.

1. A working product on day one

“Batteries included” means auth, an admin, the ORM, migrations, forms and security (CSRF, XSS, SQL injection protection) out of the box. In a startup the first week should go into the product, not plumbing.

class Course(models.Model):
    title = models.CharField(max_length=150)
    is_free = models.BooleanField(default=True)
    created_at = models.DateTimeField(auto_now_add=True)

2. The ORM is fast when used right

A “slow ORM” usually means N+1 queries. select_related and prefetch_related turn dozens of queries into two or three.

One subtle trap: with values().annotate(), the model's Meta.ordering leaks into GROUP BY and breaks the grouping. Add .order_by() before aggregating — I found and fixed exactly this bug in my portfolio's stats.

3. Multilingual by design

WeliCoDev runs in Uzbek, Russian and English: Django's i18n plus django-modeltranslation give per-language fields, managed from a single dashboard.

4. The ecosystem

  • DRF — APIs for mobile and a Next.js frontend (as in NutriZone);
  • Celery + Redis — background jobs: Telegram messages, scheduled posts, reminders;
  • ASGI — a Telegram bot webhook and async requests in the same project.

5. In practice

I've used Django for NutriZone, ShareBooks and internal platforms. This portfolio is Django too: Telegram sign-in, video courses, homework, a music player and auto-posting to a channel.

6. The downsides

  • Overkill for a tiny microservice — FastAPI is lighter there.
  • Async support is still partial: most of the ORM is synchronous.

Conclusion

Django isn't perfect, but it balances simplicity, power and productivity better than most. When I need to ship fast and scale with confidence, I still pick Django.

BackendDjangoPython

Sound settings

Equalizer
Speed
Sleep timer

Keyboard: Space — play/pause, ← → — 10 seconds, Shift+← → — track, M — mute

Queue