Junior — Senior
Counting database queries when using Django ORM
livecode
Task condition
Determine how many database queries will be executed when running the following code:
class Author(models.Model):
first_name = models.CharField(max_length=128)
last_name = models.CharField(max_length=128)
is_active = models.BooleanField()
class Article(models.Model):
author = models.ForeignKey(Author, on_delete=models.CASCADE)
name = models.CharField(max_length=64)
is_private = models.BooleanField()
views = models.IntegerField()
articles = Article.objects.all()
private_articles = articles.filter(is_private=True)
public_articles = articles.filter(is_private=False)
articles = Article.objects.select_related('author').all()
for article in articles:
print(article.author.first_name, article.author.last_name)
articles = Article.objects.all()
for a in articles:
print(a.author_id)