Category: other

47 posts

Designer Spotlight: yqc

Sept. 25, 2026
In this Designer Spotlight series, we ask MOC designers to write something interesting about their journey here on Rebrickable. The following post is written by MOC designer yqc who talks about their experiences designing commissioned MOCs. On 1 April 2025, the Admin team added the MOC Design Requests category on the Forum.

15th Birthday Quiz Results

Sept. 4, 2026
Now that August is over, the party has come to an end. I'm sure lots of you are interested in some numbers for the 15th Birthday celebratory quiz , so read on. (Yes, that's my score of 27/31 in the banner image... even though I setup all the questions) The total number of people who answered at least one question during the month is 15624 .

Designer Spotlight: Gdale

Feb. 20, 2026
In this Designer Spotlight series, we ask MOC designers to write something interesting about their journey here on Rebrickable. The following post is written by MOC designer Gdale who talks through his methods for designing successful mechanical MOCs in digital and physical forms. My Rebrickable journey started during summer 2020, during the COVID lockdown in the UK.

Rebrickable 2025 Top 10 Sets

Dec. 30, 2025
Like that High School friend you only see once a year and nobody really enjoys the experience...Here is Rebrickable's Top Ten Sets of 2025! The team has grown, but has that made our list more acceptable to the masses? Only one way to find out, and don't forget to vote in the poll to let us know how well we did. First on the list is a first for the Bricklink Designer Program.

Designer Spotlight: BaufmanBricks

Nov. 1, 2025
In this Designer Spotlight series, we ask MOC designers to write something interesting about their journey here on Rebrickable. The following post is written by MOC designer BaufmanBricks who describes how they have found success by showcasing their MOCs through videos.

Designer Spotlight: Wurger Bricks

Sept. 3, 2025
In this Designer Spotlight series, we ask MOC designers to write something interesting about their journey here on Rebrickable. The following post is written by MOC designer Wurger Bricks who will explain how they go about creating their Star Wars themed alternates. Star Wars has a multi-generational fan base spanning over 45 years.

Designer Spotlight: watson.lego

June 16, 2025
This is our 3rd Designer Spotlight article where we ask MOC designers to write something interesting about their journey here on Rebrickable. The following post is written by MOC designer watson.lego who will explain how they re-imagine classic sets using modern parts. Growing up in the 1970s was an amazing period to be a child playing with LEGO.

Designer Spotlight: sebbl

March 17, 2025
This is our 2nd Designer Spotlight article where we ask MOC designers to write something interesting about their journey here on Rebrickable. The following post is written by MOC designer sebbl who will explain how they design alternate builds. The internet is full of incredible MOCs.

2024 Rebrickable Top 10 Sets

Dec. 30, 2024
Here it is, the most anticipated top ten of the year. We, the Rebrickable Admin Team, absolutely love crafting our top 10 so everyone else can then tell us how wrong we are! Just remember, there is no criteria other than sets we liked. Obviously what we like won't always be what you like, and in the past notable absences have been due to not enough of the team actually building the set.

Woden Bricks Show

Sept. 9, 2024
Have you ever been to a brick show? Many cities all over the world run regular (usually annual) brick shows where fans bring along sets or MOCs and put them on display for the public. These shows are a great way to get inspired, see large MOCs up close and personal, and chat to the builders who made them.
DJDT

Time

Resource usage

Resource Value
User CPU time 206.343 msec
System CPU time 6.767 msec
Total CPU time 213.110 msec
Elapsed time 244.973 msec
Context switches 152 voluntary, 4 involuntary

Browser timing

Timing attribute Timeline Milliseconds since navigation start (+length)

SQL queries from 1 connection

  • default 30.83 ms (63 queries including 60 similar and 27 duplicates )
Query Timeline Time (ms) Action
SELECT COUNT(*) AS "__count"
  FROM
"blog_article"
 INNER JOIN
"blog_articlecategory"
    ON
("blog_article"."category_id" = "blog_articlecategory"."id")
 WHERE
("blog_article"."is_active" AND UPPER("blog_articlecategory"."name"::text) = UPPER('other'))
SELECT ••• FROM "blog_article" INNER JOIN "blog_articlecategory" ON ("blog_article"."category_id" = "blog_articlecategory"."id") WHERE ("blog_article"."is_active" AND UPPER("blog_articlecategory"."name"::text) = UPPER('other'))
0.43

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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"
 INNER JOIN
"blog_articlecategory"
    ON
("blog_article"."category_id" = "blog_articlecategory"."id")
 WHERE
("blog_article"."is_active" AND UPPER("blog_articlecategory"."name"::text) = UPPER('other'))
 ORDER BY
"blog_article"."published_date" DESC
 LIMIT
10
SELECT ••• FROM "blog_article" INNER JOIN "blog_articlecategory" ON ("blog_article"."category_id" = "blog_articlecategory"."id") WHERE ("blog_article"."is_active" AND UPPER("blog_articlecategory"."name"::text) = UPPER('other')) ORDER BY "blog_article"."published_date" DESC LIMIT 10
0.80

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 2
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 2 LIMIT 21
10 similar queries. Duplicated 7 times.
0.13

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 'Nathan'
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."username" = 'Nathan' LIMIT 21
10 similar queries. Duplicated 7 times.
0.09

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 2
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 2 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
10 similar queries. Duplicated 7 times.
0.08

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 965
 LIMIT
21
SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 965 LIMIT 21
10 similar queries.
0.10

Connection: default

Transaction status: In transaction

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 2
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 2 LIMIT 21
10 similar queries. Duplicated 7 times.
0.07

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 'Nathan'
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."username" = 'Nathan' LIMIT 21
10 similar queries. Duplicated 7 times.
0.09

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 2
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 2 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
10 similar queries. Duplicated 7 times.
0.10

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 968
 LIMIT
21
SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 968 LIMIT 21
10 similar queries.
0.16

Connection: default

Transaction status: In transaction

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 2
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 2 LIMIT 21
10 similar queries. Duplicated 7 times.
0.13

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 'Nathan'
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."username" = 'Nathan' LIMIT 21
10 similar queries. Duplicated 7 times.
0.11

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 2
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 2 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
10 similar queries. Duplicated 7 times.
0.07

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 908
 LIMIT
21
SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 908 LIMIT 21
10 similar queries.
0.11

Connection: default

Transaction status: In transaction

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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_by_category(246)
  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.09

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 902
 LIMIT
21
SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 902 LIMIT 21
10 similar queries.
0.08

Connection: default

Transaction status: In transaction

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 2
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 2 LIMIT 21
10 similar queries. Duplicated 7 times.
0.12

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 'Nathan'
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."username" = 'Nathan' LIMIT 21
10 similar queries. Duplicated 7 times.
0.11

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 2
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 2 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
10 similar queries. Duplicated 7 times.
0.07

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 886
 LIMIT
21
SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 886 LIMIT 21
10 similar queries.
0.09

Connection: default

Transaction status: In transaction

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 2
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 2 LIMIT 21
10 similar queries. Duplicated 7 times.
0.09

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 'Nathan'
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."username" = 'Nathan' LIMIT 21
10 similar queries. Duplicated 7 times.
0.08

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 2
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 2 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
10 similar queries. Duplicated 7 times.
0.07

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 860
 LIMIT
21
SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 860 LIMIT 21
10 similar queries.
0.08

Connection: default

Transaction status: In transaction

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 2
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 2 LIMIT 21
10 similar queries. Duplicated 7 times.
0.10

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 'Nathan'
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."username" = 'Nathan' LIMIT 21
10 similar queries. Duplicated 7 times.
0.08

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 2
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 2 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
10 similar queries. Duplicated 7 times.
0.08

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 837
 LIMIT
21
SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 837 LIMIT 21
10 similar queries.
0.08

Connection: default

Transaction status: In transaction

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 2
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 2 LIMIT 21
10 similar queries. Duplicated 7 times.
0.09

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 'Nathan'
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."username" = 'Nathan' LIMIT 21
10 similar queries. Duplicated 7 times.
0.09

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 2
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 2 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
10 similar queries. Duplicated 7 times.
0.07

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 819
 LIMIT
21
SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 819 LIMIT 21
10 similar queries.
0.08

Connection: default

Transaction status: In transaction

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

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 794
 LIMIT
21
SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 794 LIMIT 21
10 similar queries.
0.08

Connection: default

Transaction status: In transaction

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

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

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

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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" = 729
 LIMIT
21
SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 729 LIMIT 21
10 similar queries.
0.09

Connection: default

Transaction status: In transaction

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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:50:43.661589+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:50:43.661661+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:50:43.661573+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-11-15T23:50:43.661782+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
SELECT ••• FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-11-15T23:50:43.661589+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:50:43.661661+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:50:43.661573+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-11-15T23:50:43.661782+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
2 similar queries.
2.51

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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:50:43.661589+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:50:43.661661+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:50:43.661573+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-11-15T23:50:43.661782+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:50:43.661589+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:50:43.661661+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:50:43.661573+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-11-15T23:50:43.661782+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US') ORDER BY 1 DESC, RANDOM() ASC LIMIT 1
2 similar queries.
1.27

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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:50:43.669514+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:50:43.669575+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:50:43.669504+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-11-15T23:50:43.669690+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
SELECT ••• FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-11-15T23:50:43.669514+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:50:43.669575+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:50:43.669504+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-11-15T23:50:43.669690+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
2 similar queries.
1.30

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./blog/views.py in blog_by_category(246)
  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:50:43.669514+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:50:43.669575+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:50:43.669504+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-11-15T23:50:43.669690+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:50:43.669514+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:50:43.669575+00:00'::timestamptz OR "ads_banner"."end_date" IS NULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:50:43.669504+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" IS NULL OR "ads_banner"."end_date" > '2026-11-15T23:50:43.669690+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US') ORDER BY 1 DESC, RANDOM() ASC LIMIT 1
2 similar queries.
1.05

Connection: default

Transaction status: Idle

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