pandafy@dev-logs:~$

  • Executing Raw SQL in Django

    Django provides a way to directly execute SQL queries which is neatly described in Django documentation. This devlog summarizes my key takeaways while working with it. The Manager.raw method supports deferring unrequired fields. But it is to be noted that the primary key can’t be deferred since it is used...

  • Django Query Expressions: F()

    The F() Django query expression allows performing a database operation on a field without loading its value in memory. Using it, we can update values for not only a particular object but also for an entire queryset. To do that, we need to use F() in conjunction with the update()...

  • Deferred Fields in Django

    Django’s ORM provides a way to load only specific fields from the database using only and defer methods. The deferred fields are represented with the django.db.models.base.DEFERRED object. refresh_from_db model loads the deferred fields from the database, but it is possible to make it load only specific fields. While working on...

  • Closing Issues is Therapeutic

    This week started pretty slow. I was getting blocked in OpenWISP again and again. It was just by the end of the week when work started to pace through. I was relieved with the Selenium tests PR getting merged. Making those tests work consistently on CI was a huge pain,...

  • Writing tests using Selenium

    I have been working on relevant templates features of openwisp-controller on-and-off for the last couple of months. The goal is to only show templates that can be applied to the device. Every time I made an improvement, something broke. Being implemented in JavaScript, it didn’t have any automated tests and...