This set has been out for over a year already, but will still be available for a while more with a planned retirement in late 2026. I sat on the fence about if I would get this set or not for a while. Don't get me wrong, it looks stunning! But just how many temples does one girl need? Let's take a closer look and see how it compares to the other temples that LEGO Ninjago has blessed us with over the years.

Read More

It's summer in the northern hemisphere, so I've picked a cool set to be chillin with. Already annoyed by these puns? Let it go.

In 2025, City is returning to the arctic with 2 new sets. We have the option to travel by train, but I'll be driving the Arctic Explorer Science Lab Truck in search of cute doggies.

Read More

We're revving our engines for the next Nintendo UCS (not official term!) set. Mario plus kart. Oh no I stalled on the starting line!

Everyone loves Mario Kart. In my youth it was the first truly multiplayer game I had where I could sit around with all my friends and play together. We'd create tournaments on paper and battle for the Newbold Championship (the neighborhood where I grew up). We played this to death until Super Street Fighter II Turbo came out. Every installment since has been a global smash so it was inevitable LEGO would make some sets based on it.

Read More

Excactly 10 years after the Boba Fett's UCS Firespray-Class we now get it's predecessing version of Jango Fett. This version was prominently featured in Episode II with an ongoing quarrel between Jango and Obi-Wan Kenobi until Mace Windu put an end to it in the 1st battle of Geonosis. Jango's vessel appeared as playset only once at this point with set 7153 in 2002 (I don't count the several micro versions in polybags or advent calenders here).

Read More

It has been over four years since LEGO released their first Bonsai in 2021. You can read our review here. I along with many others were delighted to find out that the concept of a LEGO bonsai set wasn't going to stay a one-off thing. A Japanese red maple seems like an excellent choice due to both its popularity amongst the bonsai community, and the fact that it is quite visually different to LEGO's first bonsai.

Read More

The June 2025 wave (in some parts of the world August) sees 4 new Technic sets. One of these is not a car, so I've picked that one for a review. And I'll start with a sort of disclaimer: the 'electric' in the name of 42209-1 Volvo L120 Electric Wheel Loader means the real-life vehicle is battery-powered, and not that any electronics can be found in the LEGO version.

Read More

After the lack-luster X-Jet last year LEGO are hoping we'll all collectively forget about that bitter taste in our mouths and shell out for another X-Men set. Well they're right because I'm immediately back in, but will I regret it? I hope not! Warning this review will likely contain spoilers for the set, the movies, and the animated shows, if you're not 100% up to date or want to discover the surprises for yourself read no further.

Read More

Starting with the Majestic Tiger in 2023 we got some strong 3-in-1 sets last year with the Wild Safari and Forest Animals.

Read More

Rebrickable is under constant change. To keep you up to date it is time for another admin news article. The period between these can vary depending on the amount of news we have to bring. The blogs are all tagged so you can easily find others in the series.

Read More

This is our 3rd Designer Spotlight article where we ask MOC designers to write something interesting about their journey here on Rebrickable. The following post is written by MOC designer watson.lego who will explain how they re-imagine classic sets using modern parts.

Read More
DJDT

Time

Resource usage

Resource Value
User CPU time 373.987 msec
System CPU time 8.954 msec
Total CPU time 382.941 msec
Elapsed time 413.469 msec
Context switches 161 voluntary, 5 involuntary

Browser timing

Timing attribute Timeline Milliseconds since navigation start (+length)

SQL queries from 1 connection

  • default 33.55 ms (75 queries including 72 similar and 35 duplicates )
Query Timeline Time (ms) Action
SELECT COUNT(*) AS "__count"
  FROM
"blog_article"
 WHERE
"blog_article"."is_active"
SELECT ••• FROM "blog_article" WHERE "blog_article"."is_active"
0.42

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(69)
  articles = paginator.get_page(request.GET.get('page', 1))

/home/nathan/rb/site/./digg_paginator/utils.py in get_page(274)
  return self.page(page)

/home/nathan/rb/site/./digg_paginator/utils.py in page(199)
  page = super(DiggPaginator, self).page(number, *args, **kwargs)

/home/nathan/rb/site/./digg_paginator/utils.py in page(47)
  return super(ExPaginator, self).page(number)

SELECT "blog_article"."id",
       "blog_article"."title",
       "blog_article"."author_id",
       "blog_article"."published_date",
       "blog_article"."is_active",
       "blog_article"."body",
       "blog_article"."meta_description",
       "blog_article"."meta_img",
       "blog_article"."slug",
       "blog_article"."category_id",
       "blog_article"."ads",
       "blog_article"."show_ads_for_set_num",
       "blog_article"."review_for_set_num",
       "blog_article"."status",
       "blog_article"."scheduled_net",
       "blog_article"."ready_for_review_date",
       "blog_article"."is_sensitive",
       "blog_article"."search_vector"
  FROM
"blog_article"
 WHERE
("blog_article"."is_active" AND "blog_article"."id" = 646)
 LIMIT
21
SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 646) LIMIT 21
8 similar queries.
0.22

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(72)
  article_series_images = get_series()

/home/nathan/rb/site/./blog/views.py in get_series(50)
  {'name': 'Designer Spotlights', 'tag': 'designer-spotlight', 'article': Article.objects.get(id=646)},

SELECT "blog_article"."id",
       "blog_article"."title",
       "blog_article"."author_id",
       "blog_article"."published_date",
       "blog_article"."is_active",
       "blog_article"."body",
       "blog_article"."meta_description",
       "blog_article"."meta_img",
       "blog_article"."slug",
       "blog_article"."category_id",
       "blog_article"."ads",
       "blog_article"."show_ads_for_set_num",
       "blog_article"."review_for_set_num",
       "blog_article"."status",
       "blog_article"."scheduled_net",
       "blog_article"."ready_for_review_date",
       "blog_article"."is_sensitive",
       "blog_article"."search_vector"
  FROM
"blog_article"
 WHERE
("blog_article"."is_active" AND "blog_article"."id" = 605)
 LIMIT
21
SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 605) LIMIT 21
8 similar queries.
0.38

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(72)
  article_series_images = get_series()

/home/nathan/rb/site/./blog/views.py in get_series(51)
  {'name': 'Into the Archives', 'tag': 'into-the-archives', 'article': Article.objects.get(id=605)},

SELECT "blog_article"."id",
       "blog_article"."title",
       "blog_article"."author_id",
       "blog_article"."published_date",
       "blog_article"."is_active",
       "blog_article"."body",
       "blog_article"."meta_description",
       "blog_article"."meta_img",
       "blog_article"."slug",
       "blog_article"."category_id",
       "blog_article"."ads",
       "blog_article"."show_ads_for_set_num",
       "blog_article"."review_for_set_num",
       "blog_article"."status",
       "blog_article"."scheduled_net",
       "blog_article"."ready_for_review_date",
       "blog_article"."is_sensitive",
       "blog_article"."search_vector"
  FROM
"blog_article"
 WHERE
("blog_article"."is_active" AND "blog_article"."id" = 705)
 LIMIT
21
SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 705) LIMIT 21
8 similar queries.
0.48

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(72)
  article_series_images = get_series()

/home/nathan/rb/site/./blog/views.py in get_series(52)
  {'name': 'Mini MOC Madness', 'tag': 'mini-moc-madness', 'article': Article.objects.get(id=705)},

SELECT "blog_article"."id",
       "blog_article"."title",
       "blog_article"."author_id",
       "blog_article"."published_date",
       "blog_article"."is_active",
       "blog_article"."body",
       "blog_article"."meta_description",
       "blog_article"."meta_img",
       "blog_article"."slug",
       "blog_article"."category_id",
       "blog_article"."ads",
       "blog_article"."show_ads_for_set_num",
       "blog_article"."review_for_set_num",
       "blog_article"."status",
       "blog_article"."scheduled_net",
       "blog_article"."ready_for_review_date",
       "blog_article"."is_sensitive",
       "blog_article"."search_vector"
  FROM
"blog_article"
 WHERE
("blog_article"."is_active" AND "blog_article"."id" = 616)
 LIMIT
21
SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 616) LIMIT 21
8 similar queries.
0.24

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(72)
  article_series_images = get_series()

/home/nathan/rb/site/./blog/views.py in get_series(53)
  {'name': 'Is This LEGO?', 'tag': 'is-this-lego', 'article': Article.objects.get(id=616)},

SELECT "blog_article"."id",
       "blog_article"."title",
       "blog_article"."author_id",
       "blog_article"."published_date",
       "blog_article"."is_active",
       "blog_article"."body",
       "blog_article"."meta_description",
       "blog_article"."meta_img",
       "blog_article"."slug",
       "blog_article"."category_id",
       "blog_article"."ads",
       "blog_article"."show_ads_for_set_num",
       "blog_article"."review_for_set_num",
       "blog_article"."status",
       "blog_article"."scheduled_net",
       "blog_article"."ready_for_review_date",
       "blog_article"."is_sensitive",
       "blog_article"."search_vector"
  FROM
"blog_article"
 WHERE
("blog_article"."is_active" AND "blog_article"."id" = 279)
 LIMIT
21
SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 279) LIMIT 21
8 similar queries.
0.27

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(72)
  article_series_images = get_series()

/home/nathan/rb/site/./blog/views.py in get_series(54)
  {'name': 'Rebricksberg', 'tag': 'rebricksberg', 'article': Article.objects.get(id=279)},

SELECT "blog_article"."id",
       "blog_article"."title",
       "blog_article"."author_id",
       "blog_article"."published_date",
       "blog_article"."is_active",
       "blog_article"."body",
       "blog_article"."meta_description",
       "blog_article"."meta_img",
       "blog_article"."slug",
       "blog_article"."category_id",
       "blog_article"."ads",
       "blog_article"."show_ads_for_set_num",
       "blog_article"."review_for_set_num",
       "blog_article"."status",
       "blog_article"."scheduled_net",
       "blog_article"."ready_for_review_date",
       "blog_article"."is_sensitive",
       "blog_article"."search_vector"
  FROM
"blog_article"
 WHERE
("blog_article"."is_active" AND "blog_article"."id" = 720)
 LIMIT
21
SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 720) LIMIT 21
8 similar queries.
0.33

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(72)
  article_series_images = get_series()

/home/nathan/rb/site/./blog/views.py in get_series(55)
  {'name': 'New Set Releases', 'tag': 'sets', 'article': Article.objects.get(id=720)},

SELECT "blog_article"."id",
       "blog_article"."title",
       "blog_article"."author_id",
       "blog_article"."published_date",
       "blog_article"."is_active",
       "blog_article"."body",
       "blog_article"."meta_description",
       "blog_article"."meta_img",
       "blog_article"."slug",
       "blog_article"."category_id",
       "blog_article"."ads",
       "blog_article"."show_ads_for_set_num",
       "blog_article"."review_for_set_num",
       "blog_article"."status",
       "blog_article"."scheduled_net",
       "blog_article"."ready_for_review_date",
       "blog_article"."is_sensitive",
       "blog_article"."search_vector"
  FROM
"blog_article"
 WHERE
("blog_article"."is_active" AND "blog_article"."id" = 462)
 LIMIT
21
SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 462) LIMIT 21
8 similar queries.
0.22

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(72)
  article_series_images = get_series()

/home/nathan/rb/site/./blog/views.py in get_series(56)
  {'name': 'Tips & Useful Info', 'tag': 'tips', 'article': Article.objects.get(id=462)},

SELECT "blog_article"."id",
       "blog_article"."title",
       "blog_article"."author_id",
       "blog_article"."published_date",
       "blog_article"."is_active",
       "blog_article"."body",
       "blog_article"."meta_description",
       "blog_article"."meta_img",
       "blog_article"."slug",
       "blog_article"."category_id",
       "blog_article"."ads",
       "blog_article"."show_ads_for_set_num",
       "blog_article"."review_for_set_num",
       "blog_article"."status",
       "blog_article"."scheduled_net",
       "blog_article"."ready_for_review_date",
       "blog_article"."is_sensitive",
       "blog_article"."search_vector"
  FROM
"blog_article"
 WHERE
("blog_article"."is_active" AND "blog_article"."id" = 249)
 LIMIT
21
SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 249) LIMIT 21
8 similar queries.
0.14

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(72)
  article_series_images = get_series()

/home/nathan/rb/site/./blog/views.py in get_series(57)
  {'name': 'The Good, The Bad, & The Ugly', 'tag': 'good-bad-ugly', 'article': Article.objects.get(id=249)}

SELECT "countries_plus_country"."iso",
       "countries_plus_country"."iso3",
       "countries_plus_country"."iso_numeric",
       "countries_plus_country"."fips",
       "countries_plus_country"."name",
       "countries_plus_country"."capital",
       "countries_plus_country"."area",
       "countries_plus_country"."population",
       "countries_plus_country"."continent",
       "countries_plus_country"."tld",
       "countries_plus_country"."currency_code",
       "countries_plus_country"."currency_symbol",
       "countries_plus_country"."currency_name",
       "countries_plus_country"."phone",
       "countries_plus_country"."postal_code_format",
       "countries_plus_country"."postal_code_regex",
       "countries_plus_country"."languages",
       "countries_plus_country"."geonameid",
       "countries_plus_country"."neighbours",
       "countries_plus_country"."equivalent_fips_code"
  FROM
"countries_plus_country"
 WHERE
"countries_plus_country"."iso" = 'US'
 LIMIT
21
SELECT ••• FROM "countries_plus_country" WHERE "countries_plus_country"."iso" = 'US' LIMIT 21
0.16

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./rb/templatetags/rb_geo.py in geo_currency(20)
  geo_data = user.geo.get_user_currency()

/home/nathan/rb/site/./geo/geo.py in get_user_currency(252)
  country = Country.objects.get(iso=country_code)

412 </a>
413 </li>
414 <li class="hidden-xs">
415 {% geo_currency request.user %}
416 </li>
417 {% comment %}
418 <li class="hidden-xs hidden-sm">
419 <a href={% if request.user.is_authenticated %}"{% url 'user_profile_settings' request.user.get_username %}#personalisation"{% else %}"#" onclick="return false;"{% endif %} title="All date/times are being converted to this timezone">{% get_user_timezone request.user %}</a>

/home/nathan/rb/site/rb/templates/rb/base_root.html

SELECT "blog_article"."id",
       "blog_article"."title",
       "blog_article"."author_id",
       "blog_article"."published_date",
       "blog_article"."is_active",
       "blog_article"."body",
       "blog_article"."meta_description",
       "blog_article"."meta_img",
       "blog_article"."slug",
       "blog_article"."category_id",
       "blog_article"."ads",
       "blog_article"."show_ads_for_set_num",
       "blog_article"."review_for_set_num",
       "blog_article"."status",
       "blog_article"."scheduled_net",
       "blog_article"."ready_for_review_date",
       "blog_article"."is_sensitive",
       "blog_article"."search_vector"
  FROM
"blog_article"
 WHERE
"blog_article"."is_active"
 ORDER BY
"blog_article"."published_date" DESC
 LIMIT
10
OFFSET
50
SELECT ••• FROM "blog_article" WHERE "blog_article"."is_active" ORDER BY "blog_article"."published_date" DESC LIMIT 10 OFFSET 50
1.58

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

26 </div>
27 {% endif %}
28
29 {% for article in articles %}
30 <div class="mb-30">
31 <div class="">
32 {% include 'blog/includes/render_article_horizontal.html' %}
33 </div>

/home/nathan/rb/site/blog/templates/blog/blog_list.html

SELECT "auth_user"."id",
       "auth_user"."password",
       "auth_user"."last_login",
       "auth_user"."is_superuser",
       "auth_user"."username",
       "auth_user"."first_name",
       "auth_user"."last_name",
       "auth_user"."email",
       "auth_user"."is_staff",
       "auth_user"."is_active",
       "auth_user"."date_joined"
  FROM
"auth_user"
 WHERE
"auth_user"."id" = 159879
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 159879 LIMIT 21
10 similar queries. Duplicated 3 times.
0.11

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

2
3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "auth_user"."id",
       "auth_user"."password",
       "auth_user"."last_login",
       "auth_user"."is_superuser",
       "auth_user"."username",
       "auth_user"."first_name",
       "auth_user"."last_name",
       "auth_user"."email",
       "auth_user"."is_staff",
       "auth_user"."is_active",
       "auth_user"."date_joined"
  FROM
"auth_user"
 WHERE
"auth_user"."username" = 'icedragonj'
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."username" = 'icedragonj' LIMIT 21
10 similar queries. Duplicated 3 times.
0.09

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
  avatar_url = provider.get_avatar_url(user, size)

/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
  avatar = get_primary_avatar(user, size)

/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(112)
  user = get_user(user)

/home/nathan/rb/site/./avatar/utils.py in get_user(33)
  return get_user_model().objects.get_by_natural_key(username)

3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">
10 <div class="heading-title heading-border-bottom heading-color mb-6">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "avatar_avatar"."id",
       "avatar_avatar"."user_id",
       "avatar_avatar"."primary",
       "avatar_avatar"."avatar",
       "avatar_avatar"."date_uploaded"
  FROM
"avatar_avatar"
 WHERE
"avatar_avatar"."user_id" = 159879
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 159879 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
10 similar queries. Duplicated 3 times.
0.10

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
  avatar_url = provider.get_avatar_url(user, size)

/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
  avatar = get_primary_avatar(user, size)

/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
  avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]

3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">
10 <div class="heading-title heading-border-bottom heading-color mb-6">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "blog_articlecategory"."id",
       "blog_articlecategory"."name"
  FROM
"blog_articlecategory"
 WHERE
"blog_articlecategory"."id" = 1
 LIMIT
21
SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21
10 similar queries. Duplicated 8 times.
0.07

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

6 <span>{{ article.published_date|date }}</span>
7 </li>
8 <li class="hidden-xs">
9 <a href="{% url 'blog_by_category' article.category %}">
10 <i class="fa fa-folder-open-o"></i>
11 <span>{{ article.category }}</span>
12 </a>
13 </li>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT COUNT(*) AS "__count"
  FROM
"threadedcomments_comment"
 INNER JOIN
"django_comments"
    ON
("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id")
 WHERE
("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '843' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '843' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
10 similar queries.
10.35

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
  context[self.as_varname] = self.get_context_value_from_queryset(context, qs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
  return qs.count()

18 </a>
19 </li>
20
21 {% get_comment_count for article as num_comments %}
22 <li class="pull-right">
23 <a href="{% url 'blog_article_w_slug' article.id article.slug %}#comments">
24 <i class="fa fa-comment-o"></i>
25 {{ num_comments }}<span class="hidden-xs hidden-sm"> Comment{{ num_comments|pluralize }}</span>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT "blog_articlestats"."article_id",
       "blog_articlestats"."hits"
  FROM
"blog_articlestats"
 WHERE
"blog_articlestats"."article_id" = 843
 LIMIT
21
SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 843 LIMIT 21
10 similar queries.
0.10

Connection: default

Transaction status: In transaction

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/usr/lib/python3.10/contextlib.py in inner(79)
  return func(*args, **kwds)

/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
  .__get__(instance, instance_type)

25 {{ num_comments }}<span class="hidden-xs hidden-sm"> Comment{{ num_comments|pluralize }}</span>
26 </a>
27 </li>
28 {% if article.stats.hits > 100 %}
29 <li class="pull-right hidden-xs hidden-sm">
30 <i class="fa fa-line-chart"></i>
31 <span>{{ article.stats.hits|floor_100 }} views</span>
32 </li>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT "auth_user"."id",
       "auth_user"."password",
       "auth_user"."last_login",
       "auth_user"."is_superuser",
       "auth_user"."username",
       "auth_user"."first_name",
       "auth_user"."last_name",
       "auth_user"."email",
       "auth_user"."is_staff",
       "auth_user"."is_active",
       "auth_user"."date_joined"
  FROM
"auth_user"
 WHERE
"auth_user"."id" = 17788
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 17788 LIMIT 21
10 similar queries. Duplicated 2 times.
0.12

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

2
3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "auth_user"."id",
       "auth_user"."password",
       "auth_user"."last_login",
       "auth_user"."is_superuser",
       "auth_user"."username",
       "auth_user"."first_name",
       "auth_user"."last_name",
       "auth_user"."email",
       "auth_user"."is_staff",
       "auth_user"."is_active",
       "auth_user"."date_joined"
  FROM
"auth_user"
 WHERE
"auth_user"."username" = 'TobyMac'
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."username" = 'TobyMac' LIMIT 21
10 similar queries. Duplicated 2 times.
0.11

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
  avatar_url = provider.get_avatar_url(user, size)

/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
  avatar = get_primary_avatar(user, size)

/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(112)
  user = get_user(user)

/home/nathan/rb/site/./avatar/utils.py in get_user(33)
  return get_user_model().objects.get_by_natural_key(username)

3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">
10 <div class="heading-title heading-border-bottom heading-color mb-6">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "avatar_avatar"."id",
       "avatar_avatar"."user_id",
       "avatar_avatar"."primary",
       "avatar_avatar"."avatar",
       "avatar_avatar"."date_uploaded"
  FROM
"avatar_avatar"
 WHERE
"avatar_avatar"."user_id" = 17788
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
10 similar queries. Duplicated 2 times.
0.12

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
  avatar_url = provider.get_avatar_url(user, size)

/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
  avatar = get_primary_avatar(user, size)

/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
  avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]

3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">
10 <div class="heading-title heading-border-bottom heading-color mb-6">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "blog_articlecategory"."id",
       "blog_articlecategory"."name"
  FROM
"blog_articlecategory"
 WHERE
"blog_articlecategory"."id" = 1
 LIMIT
21
SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21
10 similar queries. Duplicated 8 times.
0.10

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

6 <span>{{ article.published_date|date }}</span>
7 </li>
8 <li class="hidden-xs">
9 <a href="{% url 'blog_by_category' article.category %}">
10 <i class="fa fa-folder-open-o"></i>
11 <span>{{ article.category }}</span>
12 </a>
13 </li>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT COUNT(*) AS "__count"
  FROM
"threadedcomments_comment"
 INNER JOIN
"django_comments"
    ON
("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id")
 WHERE
("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '846' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '846' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
10 similar queries.
2.12

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
  context[self.as_varname] = self.get_context_value_from_queryset(context, qs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
  return qs.count()

18 </a>
19 </li>
20
21 {% get_comment_count for article as num_comments %}
22 <li class="pull-right">
23 <a href="{% url 'blog_article_w_slug' article.id article.slug %}#comments">
24 <i class="fa fa-comment-o"></i>
25 {{ num_comments }}<span class="hidden-xs hidden-sm"> Comment{{ num_comments|pluralize }}</span>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT "blog_articlestats"."article_id",
       "blog_articlestats"."hits"
  FROM
"blog_articlestats"
 WHERE
"blog_articlestats"."article_id" = 846
 LIMIT
21
SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 846 LIMIT 21
10 similar queries.
0.11

Connection: default

Transaction status: In transaction

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/usr/lib/python3.10/contextlib.py in inner(79)
  return func(*args, **kwds)

/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
  .__get__(instance, instance_type)

25 {{ num_comments }}<span class="hidden-xs hidden-sm"> Comment{{ num_comments|pluralize }}</span>
26 </a>
27 </li>
28 {% if article.stats.hits > 100 %}
29 <li class="pull-right hidden-xs hidden-sm">
30 <i class="fa fa-line-chart"></i>
31 <span>{{ article.stats.hits|floor_100 }} views</span>
32 </li>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT "auth_user"."id",
       "auth_user"."password",
       "auth_user"."last_login",
       "auth_user"."is_superuser",
       "auth_user"."username",
       "auth_user"."first_name",
       "auth_user"."last_name",
       "auth_user"."email",
       "auth_user"."is_staff",
       "auth_user"."is_active",
       "auth_user"."date_joined"
  FROM
"auth_user"
 WHERE
"auth_user"."id" = 83025
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 83025 LIMIT 21
10 similar queries. Duplicated 2 times.
0.12

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

2
3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "auth_user"."id",
       "auth_user"."password",
       "auth_user"."last_login",
       "auth_user"."is_superuser",
       "auth_user"."username",
       "auth_user"."first_name",
       "auth_user"."last_name",
       "auth_user"."email",
       "auth_user"."is_staff",
       "auth_user"."is_active",
       "auth_user"."date_joined"
  FROM
"auth_user"
 WHERE
"auth_user"."username" = 'jaredhinton'
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."username" = 'jaredhinton' LIMIT 21
10 similar queries. Duplicated 2 times.
0.08

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
  avatar_url = provider.get_avatar_url(user, size)

/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
  avatar = get_primary_avatar(user, size)

/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(112)
  user = get_user(user)

/home/nathan/rb/site/./avatar/utils.py in get_user(33)
  return get_user_model().objects.get_by_natural_key(username)

3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">
10 <div class="heading-title heading-border-bottom heading-color mb-6">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "avatar_avatar"."id",
       "avatar_avatar"."user_id",
       "avatar_avatar"."primary",
       "avatar_avatar"."avatar",
       "avatar_avatar"."date_uploaded"
  FROM
"avatar_avatar"
 WHERE
"avatar_avatar"."user_id" = 83025
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 83025 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
10 similar queries. Duplicated 2 times.
0.08

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
  avatar_url = provider.get_avatar_url(user, size)

/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
  avatar = get_primary_avatar(user, size)

/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
  avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]

3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">
10 <div class="heading-title heading-border-bottom heading-color mb-6">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "blog_articlecategory"."id",
       "blog_articlecategory"."name"
  FROM
"blog_articlecategory"
 WHERE
"blog_articlecategory"."id" = 1
 LIMIT
21
SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21
10 similar queries. Duplicated 8 times.
0.06

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

6 <span>{{ article.published_date|date }}</span>
7 </li>
8 <li class="hidden-xs">
9 <a href="{% url 'blog_by_category' article.category %}">
10 <i class="fa fa-folder-open-o"></i>
11 <span>{{ article.category }}</span>
12 </a>
13 </li>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT COUNT(*) AS "__count"
  FROM
"threadedcomments_comment"
 INNER JOIN
"django_comments"
    ON
("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id")
 WHERE
("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '849' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '849' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
10 similar queries.
0.61

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
  context[self.as_varname] = self.get_context_value_from_queryset(context, qs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
  return qs.count()

18 </a>
19 </li>
20
21 {% get_comment_count for article as num_comments %}
22 <li class="pull-right">
23 <a href="{% url 'blog_article_w_slug' article.id article.slug %}#comments">
24 <i class="fa fa-comment-o"></i>
25 {{ num_comments }}<span class="hidden-xs hidden-sm"> Comment{{ num_comments|pluralize }}</span>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT "blog_articlestats"."article_id",
       "blog_articlestats"."hits"
  FROM
"blog_articlestats"
 WHERE
"blog_articlestats"."article_id" = 849
 LIMIT
21
SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 849 LIMIT 21
10 similar queries.
0.13

Connection: default

Transaction status: In transaction

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/usr/lib/python3.10/contextlib.py in inner(79)
  return func(*args, **kwds)

/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
  .__get__(instance, instance_type)

25 {{ num_comments }}<span class="hidden-xs hidden-sm"> Comment{{ num_comments|pluralize }}</span>
26 </a>
27 </li>
28 {% if article.stats.hits > 100 %}
29 <li class="pull-right hidden-xs hidden-sm">
30 <i class="fa fa-line-chart"></i>
31 <span>{{ article.stats.hits|floor_100 }} views</span>
32 </li>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT "auth_user"."id",
       "auth_user"."password",
       "auth_user"."last_login",
       "auth_user"."is_superuser",
       "auth_user"."username",
       "auth_user"."first_name",
       "auth_user"."last_name",
       "auth_user"."email",
       "auth_user"."is_staff",
       "auth_user"."is_active",
       "auth_user"."date_joined"
  FROM
"auth_user"
 WHERE
"auth_user"."id" = 375158
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 375158 LIMIT 21
10 similar queries. Duplicated 2 times.
0.09

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

2
3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "auth_user"."id",
       "auth_user"."password",
       "auth_user"."last_login",
       "auth_user"."is_superuser",
       "auth_user"."username",
       "auth_user"."first_name",
       "auth_user"."last_name",
       "auth_user"."email",
       "auth_user"."is_staff",
       "auth_user"."is_active",
       "auth_user"."date_joined"
  FROM
"auth_user"
 WHERE
"auth_user"."username" = 'Chricki'
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."username" = 'Chricki' LIMIT 21
10 similar queries. Duplicated 2 times.
0.09

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
  avatar_url = provider.get_avatar_url(user, size)

/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
  avatar = get_primary_avatar(user, size)

/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(112)
  user = get_user(user)

/home/nathan/rb/site/./avatar/utils.py in get_user(33)
  return get_user_model().objects.get_by_natural_key(username)

3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">
10 <div class="heading-title heading-border-bottom heading-color mb-6">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "avatar_avatar"."id",
       "avatar_avatar"."user_id",
       "avatar_avatar"."primary",
       "avatar_avatar"."avatar",
       "avatar_avatar"."date_uploaded"
  FROM
"avatar_avatar"
 WHERE
"avatar_avatar"."user_id" = 375158
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 375158 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
10 similar queries. Duplicated 2 times.
0.08

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
  avatar_url = provider.get_avatar_url(user, size)

/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
  avatar = get_primary_avatar(user, size)

/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
  avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]

3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">
10 <div class="heading-title heading-border-bottom heading-color mb-6">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "blog_articlecategory"."id",
       "blog_articlecategory"."name"
  FROM
"blog_articlecategory"
 WHERE
"blog_articlecategory"."id" = 1
 LIMIT
21
SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21
10 similar queries. Duplicated 8 times.
0.06

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

6 <span>{{ article.published_date|date }}</span>
7 </li>
8 <li class="hidden-xs">
9 <a href="{% url 'blog_by_category' article.category %}">
10 <i class="fa fa-folder-open-o"></i>
11 <span>{{ article.category }}</span>
12 </a>
13 </li>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT COUNT(*) AS "__count"
  FROM
"threadedcomments_comment"
 INNER JOIN
"django_comments"
    ON
("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id")
 WHERE
("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '840' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '840' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
10 similar queries.
0.49

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
  context[self.as_varname] = self.get_context_value_from_queryset(context, qs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
  return qs.count()

18 </a>
19 </li>
20
21 {% get_comment_count for article as num_comments %}
22 <li class="pull-right">
23 <a href="{% url 'blog_article_w_slug' article.id article.slug %}#comments">
24 <i class="fa fa-comment-o"></i>
25 {{ num_comments }}<span class="hidden-xs hidden-sm"> Comment{{ num_comments|pluralize }}</span>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT "blog_articlestats"."article_id",
       "blog_articlestats"."hits"
  FROM
"blog_articlestats"
 WHERE
"blog_articlestats"."article_id" = 840
 LIMIT
21
SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 840 LIMIT 21
10 similar queries.
0.08

Connection: default

Transaction status: In transaction

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/usr/lib/python3.10/contextlib.py in inner(79)
  return func(*args, **kwds)

/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
  .__get__(instance, instance_type)

25 {{ num_comments }}<span class="hidden-xs hidden-sm"> Comment{{ num_comments|pluralize }}</span>
26 </a>
27 </li>
28 {% if article.stats.hits > 100 %}
29 <li class="pull-right hidden-xs hidden-sm">
30 <i class="fa fa-line-chart"></i>
31 <span>{{ article.stats.hits|floor_100 }} views</span>
32 </li>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT "auth_user"."id",
       "auth_user"."password",
       "auth_user"."last_login",
       "auth_user"."is_superuser",
       "auth_user"."username",
       "auth_user"."first_name",
       "auth_user"."last_name",
       "auth_user"."email",
       "auth_user"."is_staff",
       "auth_user"."is_active",
       "auth_user"."date_joined"
  FROM
"auth_user"
 WHERE
"auth_user"."id" = 159879
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 159879 LIMIT 21
10 similar queries. Duplicated 3 times.
0.11

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

2
3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "auth_user"."id",
       "auth_user"."password",
       "auth_user"."last_login",
       "auth_user"."is_superuser",
       "auth_user"."username",
       "auth_user"."first_name",
       "auth_user"."last_name",
       "auth_user"."email",
       "auth_user"."is_staff",
       "auth_user"."is_active",
       "auth_user"."date_joined"
  FROM
"auth_user"
 WHERE
"auth_user"."username" = 'icedragonj'
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."username" = 'icedragonj' LIMIT 21
10 similar queries. Duplicated 3 times.
0.11

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
  avatar_url = provider.get_avatar_url(user, size)

/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
  avatar = get_primary_avatar(user, size)

/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(112)
  user = get_user(user)

/home/nathan/rb/site/./avatar/utils.py in get_user(33)
  return get_user_model().objects.get_by_natural_key(username)

3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">
10 <div class="heading-title heading-border-bottom heading-color mb-6">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "avatar_avatar"."id",
       "avatar_avatar"."user_id",
       "avatar_avatar"."primary",
       "avatar_avatar"."avatar",
       "avatar_avatar"."date_uploaded"
  FROM
"avatar_avatar"
 WHERE
"avatar_avatar"."user_id" = 159879
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 159879 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
10 similar queries. Duplicated 3 times.
0.10

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
  avatar_url = provider.get_avatar_url(user, size)

/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
  avatar = get_primary_avatar(user, size)

/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
  avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]

3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">
10 <div class="heading-title heading-border-bottom heading-color mb-6">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "blog_articlecategory"."id",
       "blog_articlecategory"."name"
  FROM
"blog_articlecategory"
 WHERE
"blog_articlecategory"."id" = 1
 LIMIT
21
SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21
10 similar queries. Duplicated 8 times.
0.06

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

6 <span>{{ article.published_date|date }}</span>
7 </li>
8 <li class="hidden-xs">
9 <a href="{% url 'blog_by_category' article.category %}">
10 <i class="fa fa-folder-open-o"></i>
11 <span>{{ article.category }}</span>
12 </a>
13 </li>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT COUNT(*) AS "__count"
  FROM
"threadedcomments_comment"
 INNER JOIN
"django_comments"
    ON
("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id")
 WHERE
("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '842' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '842' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
10 similar queries.
1.32

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
  context[self.as_varname] = self.get_context_value_from_queryset(context, qs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
  return qs.count()

18 </a>
19 </li>
20
21 {% get_comment_count for article as num_comments %}
22 <li class="pull-right">
23 <a href="{% url 'blog_article_w_slug' article.id article.slug %}#comments">
24 <i class="fa fa-comment-o"></i>
25 {{ num_comments }}<span class="hidden-xs hidden-sm"> Comment{{ num_comments|pluralize }}</span>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT "blog_articlestats"."article_id",
       "blog_articlestats"."hits"
  FROM
"blog_articlestats"
 WHERE
"blog_articlestats"."article_id" = 842
 LIMIT
21
SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 842 LIMIT 21
10 similar queries.
0.09

Connection: default

Transaction status: In transaction

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/usr/lib/python3.10/contextlib.py in inner(79)
  return func(*args, **kwds)

/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
  .__get__(instance, instance_type)

25 {{ num_comments }}<span class="hidden-xs hidden-sm"> Comment{{ num_comments|pluralize }}</span>
26 </a>
27 </li>
28 {% if article.stats.hits > 100 %}
29 <li class="pull-right hidden-xs hidden-sm">
30 <i class="fa fa-line-chart"></i>
31 <span>{{ article.stats.hits|floor_100 }} views</span>
32 </li>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT "auth_user"."id",
       "auth_user"."password",
       "auth_user"."last_login",
       "auth_user"."is_superuser",
       "auth_user"."username",
       "auth_user"."first_name",
       "auth_user"."last_name",
       "auth_user"."email",
       "auth_user"."is_staff",
       "auth_user"."is_active",
       "auth_user"."date_joined"
  FROM
"auth_user"
 WHERE
"auth_user"."id" = 17788
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 17788 LIMIT 21
10 similar queries. Duplicated 2 times.
0.12

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

2
3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "auth_user"."id",
       "auth_user"."password",
       "auth_user"."last_login",
       "auth_user"."is_superuser",
       "auth_user"."username",
       "auth_user"."first_name",
       "auth_user"."last_name",
       "auth_user"."email",
       "auth_user"."is_staff",
       "auth_user"."is_active",
       "auth_user"."date_joined"
  FROM
"auth_user"
 WHERE
"auth_user"."username" = 'TobyMac'
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."username" = 'TobyMac' LIMIT 21
10 similar queries. Duplicated 2 times.
0.11

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
  avatar_url = provider.get_avatar_url(user, size)

/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
  avatar = get_primary_avatar(user, size)

/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(112)
  user = get_user(user)

/home/nathan/rb/site/./avatar/utils.py in get_user(33)
  return get_user_model().objects.get_by_natural_key(username)

3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">
10 <div class="heading-title heading-border-bottom heading-color mb-6">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "avatar_avatar"."id",
       "avatar_avatar"."user_id",
       "avatar_avatar"."primary",
       "avatar_avatar"."avatar",
       "avatar_avatar"."date_uploaded"
  FROM
"avatar_avatar"
 WHERE
"avatar_avatar"."user_id" = 17788
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
10 similar queries. Duplicated 2 times.
0.08

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
  avatar_url = provider.get_avatar_url(user, size)

/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
  avatar = get_primary_avatar(user, size)

/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
  avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]

3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">
10 <div class="heading-title heading-border-bottom heading-color mb-6">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "blog_articlecategory"."id",
       "blog_articlecategory"."name"
  FROM
"blog_articlecategory"
 WHERE
"blog_articlecategory"."id" = 1
 LIMIT
21
SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21
10 similar queries. Duplicated 8 times.
0.06

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

6 <span>{{ article.published_date|date }}</span>
7 </li>
8 <li class="hidden-xs">
9 <a href="{% url 'blog_by_category' article.category %}">
10 <i class="fa fa-folder-open-o"></i>
11 <span>{{ article.category }}</span>
12 </a>
13 </li>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT COUNT(*) AS "__count"
  FROM
"threadedcomments_comment"
 INNER JOIN
"django_comments"
    ON
("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id")
 WHERE
("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '844' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '844' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
10 similar queries.
1.49

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
  context[self.as_varname] = self.get_context_value_from_queryset(context, qs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
  return qs.count()

18 </a>
19 </li>
20
21 {% get_comment_count for article as num_comments %}
22 <li class="pull-right">
23 <a href="{% url 'blog_article_w_slug' article.id article.slug %}#comments">
24 <i class="fa fa-comment-o"></i>
25 {{ num_comments }}<span class="hidden-xs hidden-sm"> Comment{{ num_comments|pluralize }}</span>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT "blog_articlestats"."article_id",
       "blog_articlestats"."hits"
  FROM
"blog_articlestats"
 WHERE
"blog_articlestats"."article_id" = 844
 LIMIT
21
SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 844 LIMIT 21
10 similar queries.
0.09

Connection: default

Transaction status: In transaction

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/usr/lib/python3.10/contextlib.py in inner(79)
  return func(*args, **kwds)

/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
  .__get__(instance, instance_type)

25 {{ num_comments }}<span class="hidden-xs hidden-sm"> Comment{{ num_comments|pluralize }}</span>
26 </a>
27 </li>
28 {% if article.stats.hits > 100 %}
29 <li class="pull-right hidden-xs hidden-sm">
30 <i class="fa fa-line-chart"></i>
31 <span>{{ article.stats.hits|floor_100 }} views</span>
32 </li>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT "auth_user"."id",
       "auth_user"."password",
       "auth_user"."last_login",
       "auth_user"."is_superuser",
       "auth_user"."username",
       "auth_user"."first_name",
       "auth_user"."last_name",
       "auth_user"."email",
       "auth_user"."is_staff",
       "auth_user"."is_active",
       "auth_user"."date_joined"
  FROM
"auth_user"
 WHERE
"auth_user"."id" = 83025
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 83025 LIMIT 21
10 similar queries. Duplicated 2 times.
0.09

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

2
3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "auth_user"."id",
       "auth_user"."password",
       "auth_user"."last_login",
       "auth_user"."is_superuser",
       "auth_user"."username",
       "auth_user"."first_name",
       "auth_user"."last_name",
       "auth_user"."email",
       "auth_user"."is_staff",
       "auth_user"."is_active",
       "auth_user"."date_joined"
  FROM
"auth_user"
 WHERE
"auth_user"."username" = 'jaredhinton'
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."username" = 'jaredhinton' LIMIT 21
10 similar queries. Duplicated 2 times.
0.08

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
  avatar_url = provider.get_avatar_url(user, size)

/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
  avatar = get_primary_avatar(user, size)

/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(112)
  user = get_user(user)

/home/nathan/rb/site/./avatar/utils.py in get_user(33)
  return get_user_model().objects.get_by_natural_key(username)

3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">
10 <div class="heading-title heading-border-bottom heading-color mb-6">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "avatar_avatar"."id",
       "avatar_avatar"."user_id",
       "avatar_avatar"."primary",
       "avatar_avatar"."avatar",
       "avatar_avatar"."date_uploaded"
  FROM
"avatar_avatar"
 WHERE
"avatar_avatar"."user_id" = 83025
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 83025 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
10 similar queries. Duplicated 2 times.
0.07

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
  avatar_url = provider.get_avatar_url(user, size)

/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
  avatar = get_primary_avatar(user, size)

/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
  avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]

3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">
10 <div class="heading-title heading-border-bottom heading-color mb-6">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "blog_articlecategory"."id",
       "blog_articlecategory"."name"
  FROM
"blog_articlecategory"
 WHERE
"blog_articlecategory"."id" = 1
 LIMIT
21
SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21
10 similar queries. Duplicated 8 times.
0.06

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

6 <span>{{ article.published_date|date }}</span>
7 </li>
8 <li class="hidden-xs">
9 <a href="{% url 'blog_by_category' article.category %}">
10 <i class="fa fa-folder-open-o"></i>
11 <span>{{ article.category }}</span>
12 </a>
13 </li>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT COUNT(*) AS "__count"
  FROM
"threadedcomments_comment"
 INNER JOIN
"django_comments"
    ON
("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id")
 WHERE
("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '839' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '839' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
10 similar queries.
1.41

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
  context[self.as_varname] = self.get_context_value_from_queryset(context, qs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
  return qs.count()

18 </a>
19 </li>
20
21 {% get_comment_count for article as num_comments %}
22 <li class="pull-right">
23 <a href="{% url 'blog_article_w_slug' article.id article.slug %}#comments">
24 <i class="fa fa-comment-o"></i>
25 {{ num_comments }}<span class="hidden-xs hidden-sm"> Comment{{ num_comments|pluralize }}</span>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT "blog_articlestats"."article_id",
       "blog_articlestats"."hits"
  FROM
"blog_articlestats"
 WHERE
"blog_articlestats"."article_id" = 839
 LIMIT
21
SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 839 LIMIT 21
10 similar queries.
0.08

Connection: default

Transaction status: In transaction

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/usr/lib/python3.10/contextlib.py in inner(79)
  return func(*args, **kwds)

/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
  .__get__(instance, instance_type)

25 {{ num_comments }}<span class="hidden-xs hidden-sm"> Comment{{ num_comments|pluralize }}</span>
26 </a>
27 </li>
28 {% if article.stats.hits > 100 %}
29 <li class="pull-right hidden-xs hidden-sm">
30 <i class="fa fa-line-chart"></i>
31 <span>{{ article.stats.hits|floor_100 }} views</span>
32 </li>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT "auth_user"."id",
       "auth_user"."password",
       "auth_user"."last_login",
       "auth_user"."is_superuser",
       "auth_user"."username",
       "auth_user"."first_name",
       "auth_user"."last_name",
       "auth_user"."email",
       "auth_user"."is_staff",
       "auth_user"."is_active",
       "auth_user"."date_joined"
  FROM
"auth_user"
 WHERE
"auth_user"."id" = 375158
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 375158 LIMIT 21
10 similar queries. Duplicated 2 times.
0.09

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

2
3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "auth_user"."id",
       "auth_user"."password",
       "auth_user"."last_login",
       "auth_user"."is_superuser",
       "auth_user"."username",
       "auth_user"."first_name",
       "auth_user"."last_name",
       "auth_user"."email",
       "auth_user"."is_staff",
       "auth_user"."is_active",
       "auth_user"."date_joined"
  FROM
"auth_user"
 WHERE
"auth_user"."username" = 'Chricki'
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."username" = 'Chricki' LIMIT 21
10 similar queries. Duplicated 2 times.
0.08

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
  avatar_url = provider.get_avatar_url(user, size)

/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
  avatar = get_primary_avatar(user, size)

/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(112)
  user = get_user(user)

/home/nathan/rb/site/./avatar/utils.py in get_user(33)
  return get_user_model().objects.get_by_natural_key(username)

3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">
10 <div class="heading-title heading-border-bottom heading-color mb-6">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "avatar_avatar"."id",
       "avatar_avatar"."user_id",
       "avatar_avatar"."primary",
       "avatar_avatar"."avatar",
       "avatar_avatar"."date_uploaded"
  FROM
"avatar_avatar"
 WHERE
"avatar_avatar"."user_id" = 375158
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 375158 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
10 similar queries. Duplicated 2 times.
0.07

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
  avatar_url = provider.get_avatar_url(user, size)

/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
  avatar = get_primary_avatar(user, size)

/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
  avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]

3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">
10 <div class="heading-title heading-border-bottom heading-color mb-6">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "blog_articlecategory"."id",
       "blog_articlecategory"."name"
  FROM
"blog_articlecategory"
 WHERE
"blog_articlecategory"."id" = 1
 LIMIT
21
SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21
10 similar queries. Duplicated 8 times.
0.06

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

6 <span>{{ article.published_date|date }}</span>
7 </li>
8 <li class="hidden-xs">
9 <a href="{% url 'blog_by_category' article.category %}">
10 <i class="fa fa-folder-open-o"></i>
11 <span>{{ article.category }}</span>
12 </a>
13 </li>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT COUNT(*) AS "__count"
  FROM
"threadedcomments_comment"
 INNER JOIN
"django_comments"
    ON
("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id")
 WHERE
("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '838' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '838' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
10 similar queries.
0.29

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
  context[self.as_varname] = self.get_context_value_from_queryset(context, qs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
  return qs.count()

18 </a>
19 </li>
20
21 {% get_comment_count for article as num_comments %}
22 <li class="pull-right">
23 <a href="{% url 'blog_article_w_slug' article.id article.slug %}#comments">
24 <i class="fa fa-comment-o"></i>
25 {{ num_comments }}<span class="hidden-xs hidden-sm"> Comment{{ num_comments|pluralize }}</span>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT "blog_articlestats"."article_id",
       "blog_articlestats"."hits"
  FROM
"blog_articlestats"
 WHERE
"blog_articlestats"."article_id" = 838
 LIMIT
21
SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 838 LIMIT 21
10 similar queries.
0.08

Connection: default

Transaction status: In transaction

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/usr/lib/python3.10/contextlib.py in inner(79)
  return func(*args, **kwds)

/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
  .__get__(instance, instance_type)

25 {{ num_comments }}<span class="hidden-xs hidden-sm"> Comment{{ num_comments|pluralize }}</span>
26 </a>
27 </li>
28 {% if article.stats.hits > 100 %}
29 <li class="pull-right hidden-xs hidden-sm">
30 <i class="fa fa-line-chart"></i>
31 <span>{{ article.stats.hits|floor_100 }} views</span>
32 </li>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT "auth_user"."id",
       "auth_user"."password",
       "auth_user"."last_login",
       "auth_user"."is_superuser",
       "auth_user"."username",
       "auth_user"."first_name",
       "auth_user"."last_name",
       "auth_user"."email",
       "auth_user"."is_staff",
       "auth_user"."is_active",
       "auth_user"."date_joined"
  FROM
"auth_user"
 WHERE
"auth_user"."id" = 159879
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 159879 LIMIT 21
10 similar queries. Duplicated 3 times.
0.08

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

2
3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "auth_user"."id",
       "auth_user"."password",
       "auth_user"."last_login",
       "auth_user"."is_superuser",
       "auth_user"."username",
       "auth_user"."first_name",
       "auth_user"."last_name",
       "auth_user"."email",
       "auth_user"."is_staff",
       "auth_user"."is_active",
       "auth_user"."date_joined"
  FROM
"auth_user"
 WHERE
"auth_user"."username" = 'icedragonj'
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."username" = 'icedragonj' LIMIT 21
10 similar queries. Duplicated 3 times.
0.09

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
  avatar_url = provider.get_avatar_url(user, size)

/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
  avatar = get_primary_avatar(user, size)

/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(112)
  user = get_user(user)

/home/nathan/rb/site/./avatar/utils.py in get_user(33)
  return get_user_model().objects.get_by_natural_key(username)

3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">
10 <div class="heading-title heading-border-bottom heading-color mb-6">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "avatar_avatar"."id",
       "avatar_avatar"."user_id",
       "avatar_avatar"."primary",
       "avatar_avatar"."avatar",
       "avatar_avatar"."date_uploaded"
  FROM
"avatar_avatar"
 WHERE
"avatar_avatar"."user_id" = 159879
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 159879 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
10 similar queries. Duplicated 3 times.
0.08

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
  avatar_url = provider.get_avatar_url(user, size)

/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
  avatar = get_primary_avatar(user, size)

/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
  avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]

3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">
10 <div class="heading-title heading-border-bottom heading-color mb-6">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "blog_articlecategory"."id",
       "blog_articlecategory"."name"
  FROM
"blog_articlecategory"
 WHERE
"blog_articlecategory"."id" = 3
 LIMIT
21
SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 3 LIMIT 21
10 similar queries.
0.06

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

6 <span>{{ article.published_date|date }}</span>
7 </li>
8 <li class="hidden-xs">
9 <a href="{% url 'blog_by_category' article.category %}">
10 <i class="fa fa-folder-open-o"></i>
11 <span>{{ article.category }}</span>
12 </a>
13 </li>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT COUNT(*) AS "__count"
  FROM
"threadedcomments_comment"
 INNER JOIN
"django_comments"
    ON
("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id")
 WHERE
("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '829' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '829' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
10 similar queries.
0.33

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
  context[self.as_varname] = self.get_context_value_from_queryset(context, qs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
  return qs.count()

18 </a>
19 </li>
20
21 {% get_comment_count for article as num_comments %}
22 <li class="pull-right">
23 <a href="{% url 'blog_article_w_slug' article.id article.slug %}#comments">
24 <i class="fa fa-comment-o"></i>
25 {{ num_comments }}<span class="hidden-xs hidden-sm"> Comment{{ num_comments|pluralize }}</span>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT "blog_articlestats"."article_id",
       "blog_articlestats"."hits"
  FROM
"blog_articlestats"
 WHERE
"blog_articlestats"."article_id" = 829
 LIMIT
21
SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 829 LIMIT 21
10 similar queries.
0.10

Connection: default

Transaction status: In transaction

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/usr/lib/python3.10/contextlib.py in inner(79)
  return func(*args, **kwds)

/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
  .__get__(instance, instance_type)

25 {{ num_comments }}<span class="hidden-xs hidden-sm"> Comment{{ num_comments|pluralize }}</span>
26 </a>
27 </li>
28 {% if article.stats.hits > 100 %}
29 <li class="pull-right hidden-xs hidden-sm">
30 <i class="fa fa-line-chart"></i>
31 <span>{{ article.stats.hits|floor_100 }} views</span>
32 </li>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT "auth_user"."id",
       "auth_user"."password",
       "auth_user"."last_login",
       "auth_user"."is_superuser",
       "auth_user"."username",
       "auth_user"."first_name",
       "auth_user"."last_name",
       "auth_user"."email",
       "auth_user"."is_staff",
       "auth_user"."is_active",
       "auth_user"."date_joined"
  FROM
"auth_user"
 WHERE
"auth_user"."id" = 2
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 2 LIMIT 21
10 similar queries.
0.08

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

2
3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "auth_user"."id",
       "auth_user"."password",
       "auth_user"."last_login",
       "auth_user"."is_superuser",
       "auth_user"."username",
       "auth_user"."first_name",
       "auth_user"."last_name",
       "auth_user"."email",
       "auth_user"."is_staff",
       "auth_user"."is_active",
       "auth_user"."date_joined"
  FROM
"auth_user"
 WHERE
"auth_user"."username" = 'Nathan'
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."username" = 'Nathan' LIMIT 21
10 similar queries.
0.08

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
  avatar_url = provider.get_avatar_url(user, size)

/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
  avatar = get_primary_avatar(user, size)

/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(112)
  user = get_user(user)

/home/nathan/rb/site/./avatar/utils.py in get_user(33)
  return get_user_model().objects.get_by_natural_key(username)

3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">
10 <div class="heading-title heading-border-bottom heading-color mb-6">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "avatar_avatar"."id",
       "avatar_avatar"."user_id",
       "avatar_avatar"."primary",
       "avatar_avatar"."avatar",
       "avatar_avatar"."date_uploaded"
  FROM
"avatar_avatar"
 WHERE
"avatar_avatar"."user_id" = 2
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 2 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
10 similar queries.
0.07

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
  avatar_url = provider.get_avatar_url(user, size)

/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
  avatar = get_primary_avatar(user, size)

/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
  avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]

3 <div class="flex-row">
4 <div class="mr-10 hidden-xs" style="width: 50px">
5 <a href="{% url 'blog_by_author' article.author.username %}">
6 <img data-src="{% avatar_url article.author.username 75 %}" width="50px" height="50px">
7 </a>
8 </div>
9 <div class="flex-expand">
10 <div class="heading-title heading-border-bottom heading-color mb-6">

/home/nathan/rb/site/blog/templates/blog/includes/render_article_horizontal.html

SELECT "blog_articlecategory"."id",
       "blog_articlecategory"."name"
  FROM
"blog_articlecategory"
 WHERE
"blog_articlecategory"."id" = 5
 LIMIT
21
SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 5 LIMIT 21
10 similar queries.
0.06

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

6 <span>{{ article.published_date|date }}</span>
7 </li>
8 <li class="hidden-xs">
9 <a href="{% url 'blog_by_category' article.category %}">
10 <i class="fa fa-folder-open-o"></i>
11 <span>{{ article.category }}</span>
12 </a>
13 </li>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT COUNT(*) AS "__count"
  FROM
"threadedcomments_comment"
 INNER JOIN
"django_comments"
    ON
("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id")
 WHERE
("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '837' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '837' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
10 similar queries.
0.37

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
  context[self.as_varname] = self.get_context_value_from_queryset(context, qs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
  return qs.count()

18 </a>
19 </li>
20
21 {% get_comment_count for article as num_comments %}
22 <li class="pull-right">
23 <a href="{% url 'blog_article_w_slug' article.id article.slug %}#comments">
24 <i class="fa fa-comment-o"></i>
25 {{ num_comments }}<span class="hidden-xs hidden-sm"> Comment{{ num_comments|pluralize }}</span>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT "blog_articlestats"."article_id",
       "blog_articlestats"."hits"
  FROM
"blog_articlestats"
 WHERE
"blog_articlestats"."article_id" = 837
 LIMIT
21
SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 837 LIMIT 21
10 similar queries.
0.09

Connection: default

Transaction status: In transaction

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/usr/lib/python3.10/contextlib.py in inner(79)
  return func(*args, **kwds)

/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
  .__get__(instance, instance_type)

25 {{ num_comments }}<span class="hidden-xs hidden-sm"> Comment{{ num_comments|pluralize }}</span>
26 </a>
27 </li>
28 {% if article.stats.hits > 100 %}
29 <li class="pull-right hidden-xs hidden-sm">
30 <i class="fa fa-line-chart"></i>
31 <span>{{ article.stats.hits|floor_100 }} views</span>
32 </li>

/home/nathan/rb/site/blog/templates/blog/includes/render_article_byline.html

SELECT (width*height) AS "area",
       "ads_banner"."id",
       "ads_banner"."width",
       "ads_banner"."height",
       "ads_banner"."start_date",
       "ads_banner"."end_date",
       "ads_banner"."country_code",
       "ads_banner"."html"
  FROM
"ads_banner"
 WHERE
("ads_banner"."start_date" < '2026-01-22T05:06:33.530176+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-22T05:06:33.530247+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-22T05:06:33.530161+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-01-22T05:06:33.530372+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
SELECT ••• FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-01-22T05:06:33.530176+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-22T05:06:33.530247+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-22T05:06:33.530161+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-01-22T05:06:33.530372+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
2 similar queries.
2.01

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./ads/templatetags/ads/drawing.py in render_banner(291)
  if not banners:

55 </div>
56 {% endfor %}
57
58 {% render_banner 262 600 5 %}
59 </div>
60 <div id="tab_popular" class="tab-pane">
61 {% for popular_article in popular_articles %}
62 <div class="mb-30">

/home/nathan/rb/site/blog/templates/blog/includes/render_posts_preview_tabs.html

SELECT (width*height) AS "area",
       "ads_banner"."id",
       "ads_banner"."width",
       "ads_banner"."height",
       "ads_banner"."start_date",
       "ads_banner"."end_date",
       "ads_banner"."country_code",
       "ads_banner"."html"
  FROM
"ads_banner"
 WHERE
("ads_banner"."start_date" < '2026-01-22T05:06:33.530176+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-22T05:06:33.530247+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-22T05:06:33.530161+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-01-22T05:06:33.530372+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
 ORDER BY
1 DESC, RANDOM() ASC
 LIMIT
1
SELECT ••• FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-01-22T05:06:33.530176+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-22T05:06:33.530247+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-22T05:06:33.530161+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-01-22T05:06:33.530372+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US') ORDER BY 1 DESC, RANDOM() ASC LIMIT 1
2 similar queries.
1.47

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./ads/templatetags/ads/drawing.py in render_banner(298)
  banner = banners.order_by('-area', '?')[0]

55 </div>
56 {% endfor %}
57
58 {% render_banner 262 600 5 %}
59 </div>
60 <div id="tab_popular" class="tab-pane">
61 {% for popular_article in popular_articles %}
62 <div class="mb-30">

/home/nathan/rb/site/blog/templates/blog/includes/render_posts_preview_tabs.html

SELECT (width*height) AS "area",
       "ads_banner"."id",
       "ads_banner"."width",
       "ads_banner"."height",
       "ads_banner"."start_date",
       "ads_banner"."end_date",
       "ads_banner"."country_code",
       "ads_banner"."html"
  FROM
"ads_banner"
 WHERE
("ads_banner"."start_date" < '2026-01-22T05:06:33.537660+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-22T05:06:33.537720+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-22T05:06:33.537651+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-01-22T05:06:33.537829+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
SELECT ••• FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-01-22T05:06:33.537660+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-22T05:06:33.537720+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-22T05:06:33.537651+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-01-22T05:06:33.537829+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
2 similar queries.
1.39

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./ads/templatetags/ads/drawing.py in render_banner(291)
  if not banners:

63 {% include 'blog/includes/render_posts_preview.html' with article=popular_article %}
64 </div>
65 {% endfor %}
66 {% render_banner 262 600 5 %}
67 </div>
68 </div>
69 </div>
70

/home/nathan/rb/site/blog/templates/blog/includes/render_posts_preview_tabs.html

SELECT (width*height) AS "area",
       "ads_banner"."id",
       "ads_banner"."width",
       "ads_banner"."height",
       "ads_banner"."start_date",
       "ads_banner"."end_date",
       "ads_banner"."country_code",
       "ads_banner"."html"
  FROM
"ads_banner"
 WHERE
("ads_banner"."start_date" < '2026-01-22T05:06:33.537660+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-22T05:06:33.537720+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-22T05:06:33.537651+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-01-22T05:06:33.537829+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
 ORDER BY
1 DESC, RANDOM() ASC
 LIMIT
1
SELECT ••• FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-01-22T05:06:33.537660+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-22T05:06:33.537720+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-22T05:06:33.537651+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-01-22T05:06:33.537829+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US') ORDER BY 1 DESC, RANDOM() ASC LIMIT 1
2 similar queries.
1.13

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_index(90)
  return render_articles_list(request, articles, 10)

/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
  return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,

/home/nathan/rb/site/./ads/templatetags/ads/drawing.py in render_banner(298)
  banner = banners.order_by('-area', '?')[0]

63 {% include 'blog/includes/render_posts_preview.html' with article=popular_article %}
64 </div>
65 {% endfor %}
66 {% render_banner 262 600 5 %}
67 </div>
68 </div>
69 </div>
70

/home/nathan/rb/site/blog/templates/blog/includes/render_posts_preview_tabs.html

Log messages

No messages logged.