Blog

947 posts

Review: 11512-1 Hanging Golden Pothos

Oct. 30, 2026
I love plants, but unfortunately am not very good at keeping them alive. This is part of the reason why LEGO botanicals sets appeal to me so much. Pretty looking plants that are not threatened by lapses in my memory and associated watering. However, for a few years now I have successfully been growing a few varieties of Pothos.

Review: 72163-1 - Mewtwo's Lab Break

Oct. 27, 2026
Pokémon sets with SMART bricks? I'm all in. But will I eventually have to buy 1,025 sets to catch 'em all? I hope not. LEGO Pokémon is arguably the most hyped thing in the LEGO-sphere for quite a while. It was big news that LEGO took over the license from rival Mega Construx (formerly Mega Bloks).

Review: 75451-1 Hutt Palace Sentry Droid Showdown

Oct. 24, 2026
Follow Din Djarin and Grogu deep inside the depths of the Hutt Palace on Nal Hutta. After seeing Jabba's palace on Tatooine and the horrors inside in the classic trilogy, we know that this is no place you want to be. It seems the Hutts did go with the advance in technology and got some giant sentries instead of the Gamorreans to guard the palace.

Review: 75643-1 - Tony Tony Chopper

Oct. 21, 2026
The second season of the live-action version of One Piece has been released, and with it come a new wave of sets. And this season introduces my favorite character in the show (so far, as I haven’t watched all 1,000+ eps of the anime yet): Tony Tony Chopper! This cute creature, born as an ordinary reindeer, had the bad luck of accidentally eating a Hito Hito no Mi or Human-Human Fruit, turning ...

Review: 72537-1 Derpy Tiger and Sussie Bird

Oct. 17, 2026
 We build it up, up, up! It's a tiger! You know together it's going, gonna be, gonna be, Golden... *checks parts list* um, scratch that. This set doesn't have a single golden element. But that won't stop me from rocking out to Huntrix while working on this review. KPop demon hunters is yet another IP that has partnered with LEGO in recent years. Let's take a look at the first set in the theme.

Review: 60480-1 - Yellow Backhoe Loader

Oct. 14, 2026
Construction is still continuing in LEGO City, and the summer 2026 wave of sets brings us new equipment to tackle the task. I'll be building 60480-1 Yellow Backhoe Loader today, featuring a vehicle surprisingly scarce in this theme.

Review: 60506-1 - Classic Beach Tram

Oct. 7, 2026
It's summer time (well, at least as of writing), the perfect time for a trip to the beach. Today, we're escaping the busy city and take a tram to the coast for some fishing, surfing and ice cream with  60506-1 Classic Beach Tram (or Streetcar in some countries). Trams are not new to City, but this is the first classic version I can find for this theme.

Review: 42705-1 - Cozy Fall Forest Cabin

Oct. 4, 2026
The Friends team is taking some time off from their missions at the Friends Club, and find themselves in a cabin in the woods. That description almost feels like the synopsis of a horror movie, but this set looks to be a much more cozy place.

Review: 42687-1 - Liann's Family House

Oct. 1, 2026
It's been a while since I reviewed a Friends set despite it being one of my favourite themes. With a great 2026 for the theme I just had to build something. What can we say about LEGO Friends that we haven't already covered? The new (generation 2) set of Friends seem to be going from strength to strength, now four years old! The core group consists of Aliya, Autumn, Leo, Liann, Nova, Olly, ...
DJDT

Time

Resource usage

Resource Value
User CPU time 276.806 msec
System CPU time 1.655 msec
Total CPU time 278.461 msec
Elapsed time 331.523 msec
Context switches 160 voluntary, 9 involuntary

Browser timing

Timing attribute Timeline Milliseconds since navigation start (+length)

SQL queries from 1 connection

  • default 55.54 ms (63 queries including 60 similar and 30 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.44

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(72)
  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.
8.86

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(75)
  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" = 720)
 LIMIT
21
SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 720) LIMIT 21
8 similar queries.
0.57

Connection: default

Transaction status: Idle

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

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

/home/nathan/rb/site/./blog/views.py in get_series(51)
  {'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" = 605)
 LIMIT
21
SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 605) LIMIT 21
8 similar queries.
0.46

Connection: default

Transaction status: Idle

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

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

/home/nathan/rb/site/./blog/views.py in get_series(52)
  {'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.46

Connection: default

Transaction status: Idle

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

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

/home/nathan/rb/site/./blog/views.py in get_series(53)
  {'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.46

Connection: default

Transaction status: Idle

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

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

/home/nathan/rb/site/./blog/views.py in get_series(54)
  {'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" = 462)
 LIMIT
21
SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 462) LIMIT 21
8 similar queries.
0.47

Connection: default

Transaction status: Idle

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

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

/home/nathan/rb/site/./blog/views.py in get_series(55)
  {'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" = 279)
 LIMIT
21
SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 279) LIMIT 21
8 similar queries.
0.43

Connection: default

Transaction status: Idle

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

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

/home/nathan/rb/site/./blog/views.py in get_series(56)
  {'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" = 249)
 LIMIT
21
SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 249) LIMIT 21
8 similar queries.
0.30

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(75)
  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 COUNT(*) AS "__count"
  FROM
"blog_article"
 INNER JOIN
"taggit_taggeditem"
    ON
("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12))
 INNER JOIN
"taggit_tag"
    ON
("taggit_taggeditem"."tag_id" = "taggit_tag"."id")
 WHERE
("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('designer-spotlight'))
SELECT ••• FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('designer-spotlight'))
8 similar queries.
10.32

Connection: default

Transaction status: Idle

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

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

/home/nathan/rb/site/./blog/views.py in get_series(60)
  s['num_posts'] = Article.objects.filter(tags__slug__iexact=s['tag']).count()

SELECT COUNT(*) AS "__count"
  FROM
"blog_article"
 INNER JOIN
"taggit_taggeditem"
    ON
("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12))
 INNER JOIN
"taggit_tag"
    ON
("taggit_taggeditem"."tag_id" = "taggit_tag"."id")
 WHERE
("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('sets'))
SELECT ••• FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('sets'))
8 similar queries.
2.18

Connection: default

Transaction status: Idle

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

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

/home/nathan/rb/site/./blog/views.py in get_series(60)
  s['num_posts'] = Article.objects.filter(tags__slug__iexact=s['tag']).count()

SELECT COUNT(*) AS "__count"
  FROM
"blog_article"
 INNER JOIN
"taggit_taggeditem"
    ON
("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12))
 INNER JOIN
"taggit_tag"
    ON
("taggit_taggeditem"."tag_id" = "taggit_tag"."id")
 WHERE
("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('into-the-archives'))
SELECT ••• FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('into-the-archives'))
8 similar queries.
2.17

Connection: default

Transaction status: Idle

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

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

/home/nathan/rb/site/./blog/views.py in get_series(60)
  s['num_posts'] = Article.objects.filter(tags__slug__iexact=s['tag']).count()

SELECT COUNT(*) AS "__count"
  FROM
"blog_article"
 INNER JOIN
"taggit_taggeditem"
    ON
("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12))
 INNER JOIN
"taggit_tag"
    ON
("taggit_taggeditem"."tag_id" = "taggit_tag"."id")
 WHERE
("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('mini-moc-madness'))
SELECT ••• FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('mini-moc-madness'))
8 similar queries.
2.14

Connection: default

Transaction status: Idle

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

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

/home/nathan/rb/site/./blog/views.py in get_series(60)
  s['num_posts'] = Article.objects.filter(tags__slug__iexact=s['tag']).count()

SELECT COUNT(*) AS "__count"
  FROM
"blog_article"
 INNER JOIN
"taggit_taggeditem"
    ON
("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12))
 INNER JOIN
"taggit_tag"
    ON
("taggit_taggeditem"."tag_id" = "taggit_tag"."id")
 WHERE
("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('is-this-lego'))
SELECT ••• FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('is-this-lego'))
8 similar queries.
2.75

Connection: default

Transaction status: Idle

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

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

/home/nathan/rb/site/./blog/views.py in get_series(60)
  s['num_posts'] = Article.objects.filter(tags__slug__iexact=s['tag']).count()

SELECT COUNT(*) AS "__count"
  FROM
"blog_article"
 INNER JOIN
"taggit_taggeditem"
    ON
("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12))
 INNER JOIN
"taggit_tag"
    ON
("taggit_taggeditem"."tag_id" = "taggit_tag"."id")
 WHERE
("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('tips'))
SELECT ••• FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('tips'))
8 similar queries.
2.18

Connection: default

Transaction status: Idle

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

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

/home/nathan/rb/site/./blog/views.py in get_series(60)
  s['num_posts'] = Article.objects.filter(tags__slug__iexact=s['tag']).count()

SELECT COUNT(*) AS "__count"
  FROM
"blog_article"
 INNER JOIN
"taggit_taggeditem"
    ON
("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12))
 INNER JOIN
"taggit_tag"
    ON
("taggit_taggeditem"."tag_id" = "taggit_tag"."id")
 WHERE
("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('rebricksberg'))
SELECT ••• FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('rebricksberg'))
8 similar queries.
2.22

Connection: default

Transaction status: Idle

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

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

/home/nathan/rb/site/./blog/views.py in get_series(60)
  s['num_posts'] = Article.objects.filter(tags__slug__iexact=s['tag']).count()

SELECT COUNT(*) AS "__count"
  FROM
"blog_article"
 INNER JOIN
"taggit_taggeditem"
    ON
("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12))
 INNER JOIN
"taggit_tag"
    ON
("taggit_taggeditem"."tag_id" = "taggit_tag"."id")
 WHERE
("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('good-bad-ugly'))
SELECT ••• FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('good-bad-ugly'))
8 similar queries.
2.18

Connection: default

Transaction status: Idle

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

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

/home/nathan/rb/site/./blog/views.py in get_series(60)
  s['num_posts'] = Article.objects.filter(tags__slug__iexact=s['tag']).count()

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.13

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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(253)
  country = Country.objects.get(iso=country_code)

74 </a>
75 </li>
76 <li>
77 {% geo_currency request.user %}
78 </li>
79 {% comment %}
80 <li class="hidden-xs hidden-sm">
81 <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/includes/topbar.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
SELECT ••• FROM "blog_article" WHERE "blog_article"."is_active" ORDER BY "blog_article"."published_date" DESC LIMIT 10
2.14

Connection: default

Transaction status: Idle

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

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

64 </div>
65 </div>
66
67 {% for article in articles %}
68 <div class="mb-30">
69 <div class="">
70 {% include 'blog/includes/render_article_horizontal.html' %}
71 </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 2 times.
0.12

Connection: default

Transaction status: Idle

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

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

9 <div class="rb-article-card__body">
10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16

/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 2 times.
0.12

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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)

10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16
17 <h2 class="rb-article-card__title">

/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 2 times.
0.12

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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]

10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16
17 <h2 class="rb-article-card__title">

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

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

Connection: default

Transaction status: In transaction

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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)

33 </div>
34 {% endif %}
35
36 {% if article.stats.hits > 100 %}
37 <div>
38 <i class="fa fa-line-chart"></i>
39 <span>{{ article.stats.hits|floor_100 }} views</span>
40 </div>

/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(93)
  return render_articles_list(request, articles, 10)

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

9 <div class="rb-article-card__body">
10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16

/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" = 'Jared_Wilhelm'
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."username" = 'Jared_Wilhelm' LIMIT 21
10 similar queries. Duplicated 2 times.
0.27

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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)

10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16
17 <h2 class="rb-article-card__title">

/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.10

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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]

10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16
17 <h2 class="rb-article-card__title">

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

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

Connection: default

Transaction status: In transaction

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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)

33 </div>
34 {% endif %}
35
36 {% if article.stats.hits > 100 %}
37 <div>
38 <i class="fa fa-line-chart"></i>
39 <span>{{ article.stats.hits|floor_100 }} views</span>
40 </div>

/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.11

Connection: default

Transaction status: Idle

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

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

9 <div class="rb-article-card__body">
10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16

/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.26

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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)

10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16
17 <h2 class="rb-article-card__title">

/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.10

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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]

10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16
17 <h2 class="rb-article-card__title">

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

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

Connection: default

Transaction status: In transaction

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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)

33 </div>
34 {% endif %}
35
36 {% if article.stats.hits > 100 %}
37 <div>
38 <i class="fa fa-line-chart"></i>
39 <span>{{ article.stats.hits|floor_100 }} views</span>
40 </div>

/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 4 times.
0.11

Connection: default

Transaction status: Idle

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

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

9 <div class="rb-article-card__body">
10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16

/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 4 times.
0.28

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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)

10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16
17 <h2 class="rb-article-card__title">

/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 4 times.
0.10

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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]

10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16
17 <h2 class="rb-article-card__title">

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

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

Connection: default

Transaction status: In transaction

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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)

33 </div>
34 {% endif %}
35
36 {% if article.stats.hits > 100 %}
37 <div>
38 <i class="fa fa-line-chart"></i>
39 <span>{{ article.stats.hits|floor_100 }} views</span>
40 </div>

/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 2 times.
0.11

Connection: default

Transaction status: Idle

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

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

9 <div class="rb-article-card__body">
10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16

/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 2 times.
0.11

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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)

10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16
17 <h2 class="rb-article-card__title">

/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 2 times.
0.10

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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]

10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16
17 <h2 class="rb-article-card__title">

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

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

Connection: default

Transaction status: In transaction

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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)

33 </div>
34 {% endif %}
35
36 {% if article.stats.hits > 100 %}
37 <div>
38 <i class="fa fa-line-chart"></i>
39 <span>{{ article.stats.hits|floor_100 }} views</span>
40 </div>

/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 4 times.
0.11

Connection: default

Transaction status: Idle

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

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

9 <div class="rb-article-card__body">
10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16

/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 4 times.
0.11

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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)

10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16
17 <h2 class="rb-article-card__title">

/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 4 times.
0.10

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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]

10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16
17 <h2 class="rb-article-card__title">

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

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

Connection: default

Transaction status: In transaction

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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)

33 </div>
34 {% endif %}
35
36 {% if article.stats.hits > 100 %}
37 <div>
38 <i class="fa fa-line-chart"></i>
39 <span>{{ article.stats.hits|floor_100 }} views</span>
40 </div>

/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.11

Connection: default

Transaction status: Idle

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

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

9 <div class="rb-article-card__body">
10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16

/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.10

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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)

10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16
17 <h2 class="rb-article-card__title">

/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.10

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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]

10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16
17 <h2 class="rb-article-card__title">

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

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

Connection: default

Transaction status: In transaction

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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)

33 </div>
34 {% endif %}
35
36 {% if article.stats.hits > 100 %}
37 <div>
38 <i class="fa fa-line-chart"></i>
39 <span>{{ article.stats.hits|floor_100 }} views</span>
40 </div>

/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 4 times.
0.11

Connection: default

Transaction status: Idle

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

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

9 <div class="rb-article-card__body">
10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16

/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 4 times.
0.10

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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)

10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16
17 <h2 class="rb-article-card__title">

/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 4 times.
0.10

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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]

10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16
17 <h2 class="rb-article-card__title">

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

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

Connection: default

Transaction status: In transaction

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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)

33 </div>
34 {% endif %}
35
36 {% if article.stats.hits > 100 %}
37 <div>
38 <i class="fa fa-line-chart"></i>
39 <span>{{ article.stats.hits|floor_100 }} views</span>
40 </div>

/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 4 times.
0.11

Connection: default

Transaction status: Idle

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

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

9 <div class="rb-article-card__body">
10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16

/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 4 times.
0.11

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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)

10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16
17 <h2 class="rb-article-card__title">

/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 4 times.
0.11

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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]

10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16
17 <h2 class="rb-article-card__title">

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

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

Connection: default

Transaction status: In transaction

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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)

33 </div>
34 {% endif %}
35
36 {% if article.stats.hits > 100 %}
37 <div>
38 <i class="fa fa-line-chart"></i>
39 <span>{{ article.stats.hits|floor_100 }} views</span>
40 </div>

/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.11

Connection: default

Transaction status: Idle

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

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

9 <div class="rb-article-card__body">
10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16

/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" = 'Jared_Wilhelm'
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."username" = 'Jared_Wilhelm' LIMIT 21
10 similar queries. Duplicated 2 times.
0.13

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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)

10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16
17 <h2 class="rb-article-card__title">

/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.12

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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]

10 <div class="rb-article-card__top">
11 <span class="rb-article-card__avatar hidden-xs">
12 <a href="{% url 'blog_by_author' article.author.username %}">
13 <img data-src="{% avatar_url article.author.username 75 %}" width="30" height="30" alt="{{ article.author.username }}">
14 </a>
15 </span>
16
17 <h2 class="rb-article-card__title">

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

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

Connection: default

Transaction status: In transaction

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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)

33 </div>
34 {% endif %}
35
36 {% if article.stats.hits > 100 %}
37 <div>
38 <i class="fa fa-line-chart"></i>
39 <span>{{ article.stats.hits|floor_100 }} views</span>
40 </div>

/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-11-15T23:49:31.705224+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:49:31.705309+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:49:31.705208+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-11-15T23:49:31.705444+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
SELECT ••• FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-11-15T23:49:31.705224+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:49:31.705309+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:49:31.705208+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-11-15T23:49:31.705444+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
2 similar queries.
6.16

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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:

66 </div>
67 {% endfor %}
68
69 {% render_banner 262 600 5 %}
70 </div>
71 <div id="tab_popular" class="tab-pane" role="tabpanel">
72 {% for popular_article in popular_articles %}
73 <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-11-15T23:49:31.705224+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:49:31.705309+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:49:31.705208+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-11-15T23:49:31.705444+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-11-15T23:49:31.705224+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:49:31.705309+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:49:31.705208+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-11-15T23:49:31.705444+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US') ORDER BY 1 DESC, RANDOM() ASC LIMIT 1
2 similar queries.
1.52

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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]

66 </div>
67 {% endfor %}
68
69 {% render_banner 262 600 5 %}
70 </div>
71 <div id="tab_popular" class="tab-pane" role="tabpanel">
72 {% for popular_article in popular_articles %}
73 <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-11-15T23:49:31.716821+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:49:31.716887+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:49:31.716810+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-11-15T23:49:31.717010+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
SELECT ••• FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-11-15T23:49:31.716821+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:49:31.716887+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:49:31.716810+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-11-15T23:49:31.717010+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
2 similar queries.
1.13

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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:

74 {% include 'blog/includes/render_posts_preview.html' with article=popular_article %}
75 </div>
76 {% endfor %}
77 {% render_banner 262 600 5 %}
78 </div>
79 </div>
80 </div>
81

/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-11-15T23:49:31.716821+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:49:31.716887+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:49:31.716810+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-11-15T23:49:31.717010+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-11-15T23:49:31.716821+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:49:31.716887+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:49:31.716810+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-11-15T23:49:31.717010+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US') ORDER BY 1 DESC, RANDOM() ASC LIMIT 1
2 similar queries.
1.09

Connection: default

Transaction status: Idle

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

/home/nathan/rb/site/./blog/views.py in render_articles_list(76)
  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]

74 {% include 'blog/includes/render_posts_preview.html' with article=popular_article %}
75 </div>
76 {% endfor %}
77 {% render_banner 262 600 5 %}
78 </div>
79 </div>
80 </div>
81

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

Log messages

No messages logged.