The Modular theme is a phenomenon in itself. Among AFOLs, it's regarded as the ultimate building set. There are a lot of people who have a street in their LEGO City featuring a couple of these, if not all. I do have to say, with the load of large sets released with the 18+ label in the past year, I feel it did lose some of its shine.
Today's set is one in the Architecture theme, from which I reviewed 2 sets prior. The 21057-1 Singapore is a Skyline, meaning it doesn't focus on a single building, but depicts miniature versions of various buildings characteristic to the city or area.
It's November, traditionally a time of year where the January wave of new LEGO sets is revealed. We've put all known 2022 sets in a nice overview for you. We regulary update this list. If you are missing a set, please let us know in the comments or submit it. NOTE: We only list sets that have been officially announced by LEGO.
The Friends theme is still going strong, with the 10th anniversary coming up next year. We've seen almost every possible building appear in Heartlake City, including the 41101-1 Heartlake Grand Hotel in 2015, with 1572 parts the largest Friends set ever.
It's been a busy year for the Creator Expert (or 18+ theme, LEGO still isn't really clear on the status of Creator Expert) sub-theme Creator Expert Vehicles.
So, I have a bit of a troubled past with Batman. I love superheroes stuff like comics, TV series and movies. And Batman has every potential to be one of my favorites. But, my first introduction to the character was the classic Adam West show, which was a bit too silly for me. Then, I heard of Batman movies! That must be much better, right? So, the first one I saw was Batman & Robin. I didn't finish watching it.
From October 25th through November 7th, customers in the LEGO Store and LEGO.com who spend more than $100,- on Harry Potter sets will receive a free Gift With Purchase (GWP). We'll be looking at this GWP today, which will be set 40452-1 Hogwarts Gryffindow Dorms. More specifically, the dorm of Harry and Ron.
default
30.98 ms (75 queries
including 72 similar
and 39 duplicates
)
Query
Timeline
Time (ms)
Action
SELECT COUNT(*) AS "__count" FROM "blog_article" INNER JOIN "auth_user" ON ("blog_article"."author_id" = "auth_user"."id") WHERE ("blog_article"."is_active" AND UPPER("auth_user"."username"::text) = UPPER('TobyMac'))SELECT ••• FROM "blog_article" INNER JOIN "auth_user" ON ("blog_article"."author_id" = "auth_user"."id") WHERE ("blog_article"."is_active" AND UPPER("auth_user"."username"::text) = UPPER('TobyMac'))
0.47
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(69)
articles = paginator.get_page(request.GET.get('page', 1))/home/nathan/rb/site/./digg_paginator/utils.py in get_page(274)
return self.page(page)/home/nathan/rb/site/./digg_paginator/utils.py in page(199)
page = super(DiggPaginator, self).page(number, *args, **kwargs)/home/nathan/rb/site/./digg_paginator/utils.py in page(47)
return super(ExPaginator, self).page(number)
SELECT "blog_article"."id", "blog_article"."title", "blog_article"."author_id", "blog_article"."published_date", "blog_article"."is_active", "blog_article"."body", "blog_article"."meta_description", "blog_article"."meta_img", "blog_article"."slug", "blog_article"."category_id", "blog_article"."ads", "blog_article"."show_ads_for_set_num", "blog_article"."review_for_set_num", "blog_article"."status", "blog_article"."scheduled_net", "blog_article"."ready_for_review_date", "blog_article"."is_sensitive", "blog_article"."search_vector" FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 646) LIMIT 21SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 646) LIMIT 21
8 similar queries.
0.18
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(72)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(50)
{'name': 'Designer Spotlights', 'tag': 'designer-spotlight', 'article': Article.objects.get(id=646)},
SELECT "blog_article"."id", "blog_article"."title", "blog_article"."author_id", "blog_article"."published_date", "blog_article"."is_active", "blog_article"."body", "blog_article"."meta_description", "blog_article"."meta_img", "blog_article"."slug", "blog_article"."category_id", "blog_article"."ads", "blog_article"."show_ads_for_set_num", "blog_article"."review_for_set_num", "blog_article"."status", "blog_article"."scheduled_net", "blog_article"."ready_for_review_date", "blog_article"."is_sensitive", "blog_article"."search_vector" FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 605) LIMIT 21SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 605) LIMIT 21
8 similar queries.
0.23
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(72)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(51)
{'name': 'Into the Archives', 'tag': 'into-the-archives', 'article': Article.objects.get(id=605)},
SELECT "blog_article"."id", "blog_article"."title", "blog_article"."author_id", "blog_article"."published_date", "blog_article"."is_active", "blog_article"."body", "blog_article"."meta_description", "blog_article"."meta_img", "blog_article"."slug", "blog_article"."category_id", "blog_article"."ads", "blog_article"."show_ads_for_set_num", "blog_article"."review_for_set_num", "blog_article"."status", "blog_article"."scheduled_net", "blog_article"."ready_for_review_date", "blog_article"."is_sensitive", "blog_article"."search_vector" FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 705) LIMIT 21SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 705) LIMIT 21
8 similar queries.
0.29
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(72)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(52)
{'name': 'Mini MOC Madness', 'tag': 'mini-moc-madness', 'article': Article.objects.get(id=705)},
SELECT "blog_article"."id", "blog_article"."title", "blog_article"."author_id", "blog_article"."published_date", "blog_article"."is_active", "blog_article"."body", "blog_article"."meta_description", "blog_article"."meta_img", "blog_article"."slug", "blog_article"."category_id", "blog_article"."ads", "blog_article"."show_ads_for_set_num", "blog_article"."review_for_set_num", "blog_article"."status", "blog_article"."scheduled_net", "blog_article"."ready_for_review_date", "blog_article"."is_sensitive", "blog_article"."search_vector" FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 616) LIMIT 21SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 616) LIMIT 21
8 similar queries.
0.24
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(72)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(53)
{'name': 'Is This LEGO?', 'tag': 'is-this-lego', 'article': Article.objects.get(id=616)},
SELECT "blog_article"."id", "blog_article"."title", "blog_article"."author_id", "blog_article"."published_date", "blog_article"."is_active", "blog_article"."body", "blog_article"."meta_description", "blog_article"."meta_img", "blog_article"."slug", "blog_article"."category_id", "blog_article"."ads", "blog_article"."show_ads_for_set_num", "blog_article"."review_for_set_num", "blog_article"."status", "blog_article"."scheduled_net", "blog_article"."ready_for_review_date", "blog_article"."is_sensitive", "blog_article"."search_vector" FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 279) LIMIT 21SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 279) LIMIT 21
8 similar queries.
0.21
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(72)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(54)
{'name': 'Rebricksberg', 'tag': 'rebricksberg', 'article': Article.objects.get(id=279)},
SELECT "blog_article"."id", "blog_article"."title", "blog_article"."author_id", "blog_article"."published_date", "blog_article"."is_active", "blog_article"."body", "blog_article"."meta_description", "blog_article"."meta_img", "blog_article"."slug", "blog_article"."category_id", "blog_article"."ads", "blog_article"."show_ads_for_set_num", "blog_article"."review_for_set_num", "blog_article"."status", "blog_article"."scheduled_net", "blog_article"."ready_for_review_date", "blog_article"."is_sensitive", "blog_article"."search_vector" FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 720) LIMIT 21SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 720) LIMIT 21
8 similar queries.
0.35
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(72)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(55)
{'name': 'New Set Releases', 'tag': 'sets', 'article': Article.objects.get(id=720)},
SELECT "blog_article"."id", "blog_article"."title", "blog_article"."author_id", "blog_article"."published_date", "blog_article"."is_active", "blog_article"."body", "blog_article"."meta_description", "blog_article"."meta_img", "blog_article"."slug", "blog_article"."category_id", "blog_article"."ads", "blog_article"."show_ads_for_set_num", "blog_article"."review_for_set_num", "blog_article"."status", "blog_article"."scheduled_net", "blog_article"."ready_for_review_date", "blog_article"."is_sensitive", "blog_article"."search_vector" FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 462) LIMIT 21SELECT ••• 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_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(72)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(56)
{'name': 'Tips & Useful Info', 'tag': 'tips', 'article': Article.objects.get(id=462)},
SELECT "blog_article"."id", "blog_article"."title", "blog_article"."author_id", "blog_article"."published_date", "blog_article"."is_active", "blog_article"."body", "blog_article"."meta_description", "blog_article"."meta_img", "blog_article"."slug", "blog_article"."category_id", "blog_article"."ads", "blog_article"."show_ads_for_set_num", "blog_article"."review_for_set_num", "blog_article"."status", "blog_article"."scheduled_net", "blog_article"."ready_for_review_date", "blog_article"."is_sensitive", "blog_article"."search_vector" FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 249) LIMIT 21SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 249) LIMIT 21
8 similar queries.
0.14
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(72)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(57)
{'name': 'The Good, The Bad, & The Ugly', 'tag': 'good-bad-ugly', 'article': Article.objects.get(id=249)}
SELECT "countries_plus_country"."iso", "countries_plus_country"."iso3", "countries_plus_country"."iso_numeric", "countries_plus_country"."fips", "countries_plus_country"."name", "countries_plus_country"."capital", "countries_plus_country"."area", "countries_plus_country"."population", "countries_plus_country"."continent", "countries_plus_country"."tld", "countries_plus_country"."currency_code", "countries_plus_country"."currency_symbol", "countries_plus_country"."currency_name", "countries_plus_country"."phone", "countries_plus_country"."postal_code_format", "countries_plus_country"."postal_code_regex", "countries_plus_country"."languages", "countries_plus_country"."geonameid", "countries_plus_country"."neighbours", "countries_plus_country"."equivalent_fips_code" FROM "countries_plus_country" WHERE "countries_plus_country"."iso" = 'US' LIMIT 21SELECT ••• 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_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/rb/site/./rb/templatetags/rb_geo.py in geo_currency(20)
geo_data = user.geo.get_user_currency()/home/nathan/rb/site/./geo/geo.py in get_user_currency(252)
country = Country.objects.get(iso=country_code)
412
</a>
413
</li>
414
<li class="hidden-xs">
415
{% geo_currency request.user %}
416
</li>
417
{% comment %}
418
<li class="hidden-xs hidden-sm">
419
<a href={% if request.user.is_authenticated %}"{% url 'user_profile_settings' request.user.get_username %}#personalisation"{% else %}"#" onclick="return false;"{% endif %} title="All date/times are being converted to this timezone">{% get_user_timezone request.user %}</a>
SELECT "avatar_avatar"."id", "avatar_avatar"."user_id", "avatar_avatar"."primary", "avatar_avatar"."avatar", "avatar_avatar"."date_uploaded" FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
10 similar queries.
Duplicated 10 times.
0.11
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
avatar_url = provider.get_avatar_url(user, size)/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
avatar = get_primary_avatar(user, size)/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]
SELECT "blog_articlecategory"."id", "blog_articlecategory"."name" FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21
10 similar queries.
Duplicated 9 times.
0.08
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,
SELECT COUNT(*) AS "__count" FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '439' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '439' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
10 similar queries.
0.43
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
context[self.as_varname] = self.get_context_value_from_queryset(context, qs)/home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
return qs.count()
18
</a>
19
</li>
20
21
{% get_comment_count for article as num_comments %}
SELECT "blog_articlestats"."article_id", "blog_articlestats"."hits" FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 439 LIMIT 21SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 439 LIMIT 21
10 similar queries.
0.20
Connection: default
Transaction status: In transaction
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/usr/lib/python3.10/contextlib.py in inner(79)
return func(*args, **kwds)/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
.__get__(instance, instance_type)
SELECT "avatar_avatar"."id", "avatar_avatar"."user_id", "avatar_avatar"."primary", "avatar_avatar"."avatar", "avatar_avatar"."date_uploaded" FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
10 similar queries.
Duplicated 10 times.
0.08
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
avatar_url = provider.get_avatar_url(user, size)/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
avatar = get_primary_avatar(user, size)/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]
SELECT "blog_articlecategory"."id", "blog_articlecategory"."name" FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21
10 similar queries.
Duplicated 9 times.
0.06
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,
SELECT COUNT(*) AS "__count" FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '453' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '453' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
10 similar queries.
0.54
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
context[self.as_varname] = self.get_context_value_from_queryset(context, qs)/home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
return qs.count()
18
</a>
19
</li>
20
21
{% get_comment_count for article as num_comments %}
SELECT "blog_articlestats"."article_id", "blog_articlestats"."hits" FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 453 LIMIT 21SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 453 LIMIT 21
10 similar queries.
0.08
Connection: default
Transaction status: In transaction
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/usr/lib/python3.10/contextlib.py in inner(79)
return func(*args, **kwds)/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
.__get__(instance, instance_type)
SELECT "avatar_avatar"."id", "avatar_avatar"."user_id", "avatar_avatar"."primary", "avatar_avatar"."avatar", "avatar_avatar"."date_uploaded" FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
10 similar queries.
Duplicated 10 times.
0.07
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
avatar_url = provider.get_avatar_url(user, size)/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
avatar = get_primary_avatar(user, size)/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]
SELECT "blog_articlecategory"."id", "blog_articlecategory"."name" FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21
10 similar queries.
Duplicated 9 times.
0.05
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,
SELECT COUNT(*) AS "__count" FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '442' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '442' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
10 similar queries.
0.67
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
context[self.as_varname] = self.get_context_value_from_queryset(context, qs)/home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
return qs.count()
18
</a>
19
</li>
20
21
{% get_comment_count for article as num_comments %}
SELECT "blog_articlestats"."article_id", "blog_articlestats"."hits" FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 442 LIMIT 21SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 442 LIMIT 21
10 similar queries.
0.12
Connection: default
Transaction status: In transaction
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/usr/lib/python3.10/contextlib.py in inner(79)
return func(*args, **kwds)/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
.__get__(instance, instance_type)
SELECT "avatar_avatar"."id", "avatar_avatar"."user_id", "avatar_avatar"."primary", "avatar_avatar"."avatar", "avatar_avatar"."date_uploaded" FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
10 similar queries.
Duplicated 10 times.
0.07
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
avatar_url = provider.get_avatar_url(user, size)/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
avatar = get_primary_avatar(user, size)/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]
SELECT "blog_articlecategory"."id", "blog_articlecategory"."name" FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21
10 similar queries.
Duplicated 9 times.
0.06
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,
SELECT COUNT(*) AS "__count" FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '443' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '443' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
10 similar queries.
0.52
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
context[self.as_varname] = self.get_context_value_from_queryset(context, qs)/home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
return qs.count()
18
</a>
19
</li>
20
21
{% get_comment_count for article as num_comments %}
SELECT "blog_articlestats"."article_id", "blog_articlestats"."hits" FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 443 LIMIT 21SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 443 LIMIT 21
10 similar queries.
0.15
Connection: default
Transaction status: In transaction
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/usr/lib/python3.10/contextlib.py in inner(79)
return func(*args, **kwds)/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
.__get__(instance, instance_type)
SELECT "avatar_avatar"."id", "avatar_avatar"."user_id", "avatar_avatar"."primary", "avatar_avatar"."avatar", "avatar_avatar"."date_uploaded" FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
10 similar queries.
Duplicated 10 times.
0.09
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
avatar_url = provider.get_avatar_url(user, size)/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
avatar = get_primary_avatar(user, size)/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]
SELECT "blog_articlecategory"."id", "blog_articlecategory"."name" FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21
10 similar queries.
Duplicated 9 times.
0.11
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,
SELECT COUNT(*) AS "__count" FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '423' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '423' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
10 similar queries.
0.79
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
context[self.as_varname] = self.get_context_value_from_queryset(context, qs)/home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
return qs.count()
18
</a>
19
</li>
20
21
{% get_comment_count for article as num_comments %}
SELECT "blog_articlestats"."article_id", "blog_articlestats"."hits" FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 423 LIMIT 21SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 423 LIMIT 21
10 similar queries.
0.09
Connection: default
Transaction status: In transaction
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/usr/lib/python3.10/contextlib.py in inner(79)
return func(*args, **kwds)/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
.__get__(instance, instance_type)
SELECT "avatar_avatar"."id", "avatar_avatar"."user_id", "avatar_avatar"."primary", "avatar_avatar"."avatar", "avatar_avatar"."date_uploaded" FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
10 similar queries.
Duplicated 10 times.
0.07
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
avatar_url = provider.get_avatar_url(user, size)/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
avatar = get_primary_avatar(user, size)/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]
SELECT "blog_articlecategory"."id", "blog_articlecategory"."name" FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 3 LIMIT 21SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 3 LIMIT 21
10 similar queries.
0.06
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,
SELECT COUNT(*) AS "__count" FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '437' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '437' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
10 similar queries.
1.10
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
context[self.as_varname] = self.get_context_value_from_queryset(context, qs)/home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
return qs.count()
18
</a>
19
</li>
20
21
{% get_comment_count for article as num_comments %}
SELECT "blog_articlestats"."article_id", "blog_articlestats"."hits" FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 437 LIMIT 21SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 437 LIMIT 21
10 similar queries.
0.10
Connection: default
Transaction status: In transaction
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/usr/lib/python3.10/contextlib.py in inner(79)
return func(*args, **kwds)/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
.__get__(instance, instance_type)
SELECT "avatar_avatar"."id", "avatar_avatar"."user_id", "avatar_avatar"."primary", "avatar_avatar"."avatar", "avatar_avatar"."date_uploaded" FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
10 similar queries.
Duplicated 10 times.
0.09
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
avatar_url = provider.get_avatar_url(user, size)/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
avatar = get_primary_avatar(user, size)/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]
SELECT "blog_articlecategory"."id", "blog_articlecategory"."name" FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21
10 similar queries.
Duplicated 9 times.
0.07
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,
SELECT COUNT(*) AS "__count" FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '436' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '436' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
10 similar queries.
0.61
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
context[self.as_varname] = self.get_context_value_from_queryset(context, qs)/home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
return qs.count()
18
</a>
19
</li>
20
21
{% get_comment_count for article as num_comments %}
SELECT "blog_articlestats"."article_id", "blog_articlestats"."hits" FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 436 LIMIT 21SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 436 LIMIT 21
10 similar queries.
0.09
Connection: default
Transaction status: In transaction
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/usr/lib/python3.10/contextlib.py in inner(79)
return func(*args, **kwds)/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
.__get__(instance, instance_type)
SELECT "avatar_avatar"."id", "avatar_avatar"."user_id", "avatar_avatar"."primary", "avatar_avatar"."avatar", "avatar_avatar"."date_uploaded" FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
10 similar queries.
Duplicated 10 times.
0.07
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
avatar_url = provider.get_avatar_url(user, size)/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
avatar = get_primary_avatar(user, size)/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]
SELECT "blog_articlecategory"."id", "blog_articlecategory"."name" FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21
10 similar queries.
Duplicated 9 times.
0.06
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,
SELECT COUNT(*) AS "__count" FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '433' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '433' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
10 similar queries.
0.66
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
context[self.as_varname] = self.get_context_value_from_queryset(context, qs)/home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
return qs.count()
18
</a>
19
</li>
20
21
{% get_comment_count for article as num_comments %}
SELECT "blog_articlestats"."article_id", "blog_articlestats"."hits" FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 433 LIMIT 21SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 433 LIMIT 21
10 similar queries.
0.10
Connection: default
Transaction status: In transaction
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/usr/lib/python3.10/contextlib.py in inner(79)
return func(*args, **kwds)/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
.__get__(instance, instance_type)
SELECT "avatar_avatar"."id", "avatar_avatar"."user_id", "avatar_avatar"."primary", "avatar_avatar"."avatar", "avatar_avatar"."date_uploaded" FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
10 similar queries.
Duplicated 10 times.
0.08
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
avatar_url = provider.get_avatar_url(user, size)/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
avatar = get_primary_avatar(user, size)/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]
SELECT "blog_articlecategory"."id", "blog_articlecategory"."name" FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21
10 similar queries.
Duplicated 9 times.
0.06
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,
SELECT COUNT(*) AS "__count" FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '432' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '432' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
10 similar queries.
0.56
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
context[self.as_varname] = self.get_context_value_from_queryset(context, qs)/home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
return qs.count()
18
</a>
19
</li>
20
21
{% get_comment_count for article as num_comments %}
SELECT "blog_articlestats"."article_id", "blog_articlestats"."hits" FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 432 LIMIT 21SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 432 LIMIT 21
10 similar queries.
0.09
Connection: default
Transaction status: In transaction
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/usr/lib/python3.10/contextlib.py in inner(79)
return func(*args, **kwds)/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
.__get__(instance, instance_type)
SELECT "avatar_avatar"."id", "avatar_avatar"."user_id", "avatar_avatar"."primary", "avatar_avatar"."avatar", "avatar_avatar"."date_uploaded" FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 17788 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
10 similar queries.
Duplicated 10 times.
0.07
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
avatar_url = provider.get_avatar_url(user, size)/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
avatar = get_primary_avatar(user, size)/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]
SELECT "blog_articlecategory"."id", "blog_articlecategory"."name" FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 1 LIMIT 21
10 similar queries.
Duplicated 9 times.
0.06
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,
SELECT COUNT(*) AS "__count" FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '426' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 12 AND "django_comments"."object_pk" = '426' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
10 similar queries.
0.38
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
context[self.as_varname] = self.get_context_value_from_queryset(context, qs)/home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
return qs.count()
18
</a>
19
</li>
20
21
{% get_comment_count for article as num_comments %}
SELECT "blog_articlestats"."article_id", "blog_articlestats"."hits" FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 426 LIMIT 21SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 426 LIMIT 21
10 similar queries.
0.08
Connection: default
Transaction status: In transaction
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/usr/lib/python3.10/contextlib.py in inner(79)
return func(*args, **kwds)/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
.__get__(instance, instance_type)
SELECT (width*height) AS "area", "ads_banner"."id", "ads_banner"."width", "ads_banner"."height", "ads_banner"."start_date", "ads_banner"."end_date", "ads_banner"."country_code", "ads_banner"."html" FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-01-23T01:13:35.464622+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-23T01:13:35.464695+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-23T01:13:35.464606+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-01-23T01:13:35.464823+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')SELECT ••• FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-01-23T01:13:35.464622+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-23T01:13:35.464695+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-23T01:13:35.464606+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-01-23T01:13:35.464823+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
2 similar queries.
1.93
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/rb/site/./ads/templatetags/ads/drawing.py in render_banner(291)
if not banners:
SELECT (width*height) AS "area", "ads_banner"."id", "ads_banner"."width", "ads_banner"."height", "ads_banner"."start_date", "ads_banner"."end_date", "ads_banner"."country_code", "ads_banner"."html" FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-01-23T01:13:35.464622+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-23T01:13:35.464695+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-23T01:13:35.464606+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-01-23T01:13:35.464823+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US') ORDER BY 1 DESC, RANDOM() ASC LIMIT 1SELECT ••• FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-01-23T01:13:35.464622+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-23T01:13:35.464695+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-23T01:13:35.464606+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-01-23T01:13:35.464823+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US') ORDER BY 1 DESC, RANDOM() ASCLIMIT 1
2 similar queries.
1.96
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/rb/site/./ads/templatetags/ads/drawing.py in render_banner(298)
banner = banners.order_by('-area', '?')[0]
SELECT (width*height) AS "area", "ads_banner"."id", "ads_banner"."width", "ads_banner"."height", "ads_banner"."start_date", "ads_banner"."end_date", "ads_banner"."country_code", "ads_banner"."html" FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-01-23T01:13:35.473492+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-23T01:13:35.473577+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-23T01:13:35.473479+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-01-23T01:13:35.473764+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')SELECT ••• FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-01-23T01:13:35.473492+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-23T01:13:35.473577+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-23T01:13:35.473479+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-01-23T01:13:35.473764+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
2 similar queries.
1.42
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/rb/site/./ads/templatetags/ads/drawing.py in render_banner(291)
if not banners:
63
{% include 'blog/includes/render_posts_preview.html' with article=popular_article %}
SELECT (width*height) AS "area", "ads_banner"."id", "ads_banner"."width", "ads_banner"."height", "ads_banner"."start_date", "ads_banner"."end_date", "ads_banner"."country_code", "ads_banner"."html" FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-01-23T01:13:35.473492+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-23T01:13:35.473577+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-23T01:13:35.473479+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-01-23T01:13:35.473764+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US') ORDER BY 1 DESC, RANDOM() ASC LIMIT 1SELECT ••• FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-01-23T01:13:35.473492+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-23T01:13:35.473577+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-23T01:13:35.473479+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-01-23T01:13:35.473764+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US') ORDER BY 1 DESC, RANDOM() ASCLIMIT 1
2 similar queries.
1.23
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_author(245)
return render_articles_list(request, articles, 10)/home/nathan/rb/site/./blog/views.py in render_articles_list(73)
return render(request, 'blog/blog_list.html', {'articles': articles, 'drafts': drafts, 'tag': tag,/home/nathan/rb/site/./ads/templatetags/ads/drawing.py in render_banner(298)
banner = banners.order_by('-area', '?')[0]
63
{% include 'blog/includes/render_posts_preview.html' with article=popular_article %}