| Blog Info | Haki Benita |
|---|---|
| Blog website | Link |
Oct. 29, 2025 » Haki Benita » [Archived Version]
Django signals are extremely useful for decoupling modules and implementing complicated workflows. However, the underlying transport for signals makes them unreliable and subject to unexpected failures.In this article, I present an alternative transport implementation for Django signals using background tasks which makes them reliable and safer to use in mission critical workflows.
Read MoreJune 6, 2021 » Haki Benita » [Archived Version]
A story about how I ended up sending hundreds of users messages saying they got paid when they didn't! In the process we've learned a valuable lesson about nested transactions and Django signals.
Read MoreMarch 2, 2021 » Haki Benita » [Archived Version]
Django 3.2 is just around the corner and it's packed with new features. Django versions are usually not that exciting (it's a good thing!), but this time many features were added to the ORM, so I find it especially interesting!
Read MoreMay 5, 2020 » Haki Benita » [Archived Version]
In my latest article for RealPython I cover some exotic migration operations, many of the built-in migration CLI commands and demonstrate important migrations concepts such as reversible migrations, migration plans and introspection.
Read MoreApril 7, 2020 » Haki Benita » [Archived Version]
One of the most challenging aspects of writing good tests is maintaining test fixtures. Good test fixtures motivate developers to write better tests, and bad fixtures can cripple a system to a point where developers fear and avoid them all together. The article covers everything from setting up Pytest for a Django project, creating test fixtures and how to create dependency between fixtures.
Read MoreMarch 29, 2020 » Haki Benita » [Archived Version]
How we developed a Markdown extension to manage content in Django sites.
Read MoreFeb. 11, 2020 » Haki Benita » [Archived Version]
Last year my team and I worked on a very challenging IVR system. After almost a year in production and thousands of processed transactions, I teamed up with the great people over at the Twilio blog to write an introductory tutorial for developing IVR systems using Django and Twilio IVR.
Read MoreFeb. 10, 2020 » Haki Benita » [Archived Version]
Understand GROUP BY in Django ORM by comparing QuerySets and SQL side by side. If SQL is where you are most comfortable, this is the Django GROUP BY tutorial for you.
Read MoreAug. 4, 2019 » Haki Benita » [Archived Version]
Have you ever stopped to think what staff user can do in your Django admin site? Did you know staff users with misconfigured permissions on the user model can make themselves superusers? Permissive permissions to staff users can cause disastrous human errors at best, and lead to major data leaks and at worst.
Read MoreJune 7, 2019 » Haki Benita » [Archived Version]
When a developer chooses Python, Django, or Django Rest Framework, it's usually not because of its blazing fast performance. All of this doesn't mean performance is not important. As this story taught us, major performance boosts can be gained with just a little attention, and a few small changes.
Read More