After creating models and migrating them to the database, we make queries to the database to get meaningful information from it. A query is a request for data or information from a database table or group of tables. It is important to make queries to the database as it allows us to get access to accurate information about our data, create and retrieve data, update existing data, filter a group of data, and get and delete data we don't find useful anymore.
In Django, data are retrieved from the database by constructing a Queryset on the model's Manager which is
objects by default and added to every Django Model's class.
A Queryset is a representation or collection of objects in the database which can be narrowed down to retrieve specific subsets by using different methods.
Some of the popular methods used to make queries are:
get: This is used to retrieve a particular entity from the database.
Assuming I have a model that stores the data for a Product
from django.db import models from django.utils import timezone class Product(models.Model): name = models.CharField(max_length=150) amount = models.DecimalField(max_digits=200, decimal_places=2) created_at = models.DateTimeField(default=timezone.now)
After storing a series of products in the database, I can retrieve a specific product by using the
create method is used to store a new entity in the database.
Example To store a new product in my Product database:
new = Product.objects.create(name="biro", amount=20) new.save()
save method saves the new product I created, without calling the method, the database isn't hit and the object isn't saved.
filter: This method returns a new queryset that matches the lookup parameters.
To get the list of products that their amount is 100:
exclude: This method returns a new queryset that doesn't match the lookup parameters. It is the opposite of
update: it is used to update the existing objects in the database.
There are other queries used in Django like
annotate etc. Most can be found in Django documentation.
Did you find this article valuable?
Support Ubaydah Abdulwasiu by becoming a sponsor. Any amount is appreciated!