If you weren't aware, ever since we introduced the Pro/Designer Plans (7 years ago!) we have been giving away monthly LEGO prizes to a randomly selected Pro/Designer user as part of our Pro Raffle draw. For this month only (December 2024), I will be increasing the prize to $500 and throwing in the new RebrickMat (now with an updated v16 design).
For just over two years now, we have been giving away monthly LEGO prizes to a randomly selected user on the Pro or Designer Plan as part of our Pro Raffle draw. For August 2020, I will be providing a bigger prize for this Pro Raffle to coincide with the Summer 2020 wave of LEGO Sets.
Six months ago I announced a monthly raffle for Pro Plan members. To date there have been six winners and almost $1000 worth of LEGO given away :) To finish up the year, the December raffle will be worth a huge €400 - enough to buy nearly anything from the LEGO store, including:
Starting from June I will be introducing a monthly raffle. I will be giving away a prize every month to a randomly selected Pro or Designer Plan user. There is no cost to entering the raffle, other than the standard Pro/Designer Plan upgrade cost. Free Plan users might still be eligible for a chance to win from July onwards via special criteria, but I will provide more details on that another time.
default
32.32 ms (39 queries
including 36 similar
and 16 duplicates
)
Query
Timeline
Time (ms)
Action
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('raffle'))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('raffle'))
5.28
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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.29
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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.22
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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.30
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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.19
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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.17
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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.26
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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.21
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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.12
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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.13
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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" = 2 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 2 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
4 similar queries.
Duplicated 4 times.
0.10
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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" = 2 LIMIT 21SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 2 LIMIT 21
4 similar queries.
Duplicated 4 times.
0.15
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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" = '788' 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" = '788' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
4 similar queries.
1.38
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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" = 788 LIMIT 21SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 788 LIMIT 21
4 similar queries.
0.16
Connection: default
Transaction status: In transaction
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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" = 2 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 2 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
4 similar queries.
Duplicated 4 times.
0.08
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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" = 2 LIMIT 21SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 2 LIMIT 21
4 similar queries.
Duplicated 4 times.
0.06
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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" = '283' 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" = '283' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
4 similar queries.
0.71
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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" = 283 LIMIT 21SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 283 LIMIT 21
4 similar queries.
0.08
Connection: default
Transaction status: In transaction
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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" = 2 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 2 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
4 similar queries.
Duplicated 4 times.
0.07
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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" = 2 LIMIT 21SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 2 LIMIT 21
4 similar queries.
Duplicated 4 times.
0.06
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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" = '171' 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" = '171' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
4 similar queries.
0.47
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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" = 171 LIMIT 21SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 171 LIMIT 21
4 similar queries.
0.08
Connection: default
Transaction status: In transaction
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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" = 2 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 2 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
4 similar queries.
Duplicated 4 times.
0.09
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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" = 2 LIMIT 21SELECT ••• FROM "blog_articlecategory" WHERE "blog_articlecategory"."id" = 2 LIMIT 21
4 similar queries.
Duplicated 4 times.
0.06
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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" = '162' 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" = '162' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
4 similar queries.
2.22
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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" = 162 LIMIT 21SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 162 LIMIT 21
4 similar queries.
0.10
Connection: default
Transaction status: In transaction
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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-22T16:31:40.184893+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-22T16:31:40.184966+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-22T16:31:40.184879+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-01-22T16:31:40.185086+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')SELECT ••• FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-01-22T16:31:40.184893+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-22T16:31:40.184966+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-22T16:31:40.184879+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-01-22T16:31:40.185086+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
2 similar queries.
2.59
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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-22T16:31:40.184893+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-22T16:31:40.184966+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-22T16:31:40.184879+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-01-22T16:31:40.185086+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-22T16:31:40.184893+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-22T16:31:40.184966+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-22T16:31:40.184879+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-01-22T16:31:40.185086+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US') ORDER BY 1 DESC, RANDOM() ASCLIMIT 1
2 similar queries.
1.31
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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-22T16:31:40.193283+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-22T16:31:40.193348+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-22T16:31:40.193274+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-01-22T16:31:40.193458+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')SELECT ••• FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-01-22T16:31:40.193283+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-22T16:31:40.193348+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-22T16:31:40.193274+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-01-22T16:31:40.193458+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
2 similar queries.
1.53
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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-22T16:31:40.193283+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-22T16:31:40.193348+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-22T16:31:40.193274+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-01-22T16:31:40.193458+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-22T16:31:40.193283+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-01-22T16:31:40.193348+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-01-22T16:31:40.193274+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-01-22T16:31:40.193458+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US') ORDER BY 1 DESC, RANDOM() ASCLIMIT 1
2 similar queries.
1.07
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_by_tag(235)
return render_articles_list(request, articles, 10, tag)/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 %}