I love plants, but unfortunately am not very good at keeping them alive. This is part of the reason why LEGO botanicals sets appeal to me so much. Pretty looking plants that are not threatened by lapses in my memory and associated watering. However, for a few years now I have successfully been growing a few varieties of Pothos. I have golden (the stripy one), neon, and even one with some white streaks (harder to propagate), as well as a darker leafed heartleaf philodendron, which grows in a very similar way. Let's see how this set compares to the real deal.
Relax and unwind as you build the LEGO® Botanicals Hanging Golden Pothos (11512) building set, a highly detailed interpretation of the popular house plant. This versatile display model can be crafted in 2 ways. For display on a shelf or corner nook, build it with 2 vines that hang past the bottom of the pot, or reassemble it with 4 identical vines to fit on a coffee table or countertop. All the leaves and stems are movable so nature lovers can customize their creation. The elegant white plant pot makes it a minimalist plant decor piece for a home office, living room or bedroom. This craft kit makes a lovely gift idea for women, men and nature lovers on birthdays, holidays, housewarmings and other special occasions. And, with the LEGO builder app, you can zoom and rotate your projects in 3D and track your progress. Set contains 372 pieces.
£54.99, $59.99, €59.99 / AUD$99.99
The Box
The box measured 280mm x 260mm x 58mm and weighs 0.57kg. Inside are 4 paper bags numbered 1 to 4, and the loose instructions.
The Instructions
The Australian version of the instruction manuals measures 195mm x 175mm x 2mm. It has 86 pages and 73 or 51 steps depending on the option you build (splitting after 33). There are a couple of pages giving information about the plant.
The Parts
The set contains 372 parts and 4 spares, in 14 colors, and 19 part categories, with a total of 52 unique parts/color combinations.
A few new green parts, just a bit of a shame more of the leaves weren't the stripy one. More than half are plain.
The Build
The base helps to give the pot a bit of height for the draping low hanging leaves. There are tyres on the bottom to help keep it in place.
The pot uses some interesting techniques to get a large round shape with minimal gaps. There is an axle stack in the middle to help join to the base, and also stop the dirt from sagging.
The dirt puddle has a lot of bars to join vines to. There are some gaps around the edges, but it looks fine once inserted in the pot and surrounded by plants. Our first group of leaves are attached before we get to choose which version to build. I wanted to build the asymetrical one, which works better if you have a long shelf to dangle it from.
This meant the vines I was working on were longer. Due to the hinge part being used, they can only bend in one direction. A few different parts are used to attach the leaves, giving it enough small differences to look organic.
It already looks pretty good with just this vine, which closely resembles my real plants (I don't often double pot them). But we still have more to go! The rest of the vines come together in similar ways. 1 more long one, then a couple of shorter ones.
Conclusion
Done! It isn't a huge set, so it comes together pretty quick. I think the white pot is a good colour choice and contrasts nicely with the leaves. The leaves look good, but are a bit small, at least compared to my pothos (which might not be representative). It would have been nice to have a few more variegated leaves than plain ones. They included just enough for it to not look weird, but my variegated vines have variegation on every leaf.
I'm not sure if I like the studs on the outside of the pot as some sort of textured detail, or if it would have been nicer to find a smooth solution.
It is 16c per part, which is a bit on the high side. This might be because of all the leaves, but there are a lot of smaller hinge parts too.
This set delivers as expected. If you like plants and want a LEGO pothos, this set is for you. It won't need any watering, or pruning, and can be altered to fit almost any shelf with the different lengthed vines.
default
1010.32 ms (50 queries
including 35 similar
and 10 duplicates
)
Query
Timeline
Time (ms)
Action
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" = 971) LIMIT 21SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 971) LIMIT 21
9 similar queries.
0.32
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(119)
article = get_object_or_404(Article, id=article_id)
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", (SIMILARITY("blog_article"."title", 'Review: 11512-1 Hanging Golden Pothos') + SIMILARITY("blog_article"."body", 'I love plants, but unfortunately am not very good at keeping them alive. This is part of the reason why LEGO botanicals sets appeal to me so much. Pretty looking plants that are not threatened by lapses in my memory and associated watering. However, for a few years now I have successfully been growing a few varieties of Pothos. I have golden (the stripy one), neon, and even one with some white streaks (harder to propagate), as well as a darker leafed heartleaf philodendron, which grows in a very similar way. Let''s see how this set compares to the real deal.
Contents
The SetThe PartsThe BuildConclusion
The Set
Relax and unwind as you build the LEGO® Botanicals Hanging Golden Pothos (11512) building set, a highly detailed interpretation of the popular house plant. This versatile display model can be crafted in 2 ways. For display on a shelf or corner nook, build it with 2 vines that hang past the bottom of the pot, or reassemble it with 4 identical vines to fit on a coffee table or countertop. All the leaves and stems are movable so nature lovers can customize their creation. The elegant white plant pot makes it a minimalist plant decor piece for a home office, living room or bedroom. This craft kit makes a lovely gift idea for women, men and nature lovers on birthdays, holidays, housewarmings and other special occasions. And, with the LEGO builder app, you can zoom and rotate your projects in 3D and track your progress. Set contains 372 pieces.
£54.99, $59.99, €59.99 / AUD$99.99
The Box
The box measured 280mm x 260mm x 58mm and weighs 0.57kg. Inside are 4 paper bags numbered 1 to 4, and the loose instructions.
The Instructions
The Australian version of the instruction manuals measures 195mm x 175mm x 2mm. It has 86 pages and 73 or 51 steps depending on the option you build (splitting after 33). There are a couple of pages giving information about the plant.
The Parts
The set contains 372 parts and 4 spares, in 14 colors, and 19 part categories, with a total of 52 unique parts/color combinations.Main colors are:
Reddish Brown: 13 unique parts, 63 quantity.
Bright Green: 9 unique parts, 112 quantity.
White: 8 unique parts, 76 quantity.
Main categories are:
Plates Round Curved and Dishes: 8 unique parts, 20 quantity.
Bricks Round and Cones: 6 unique parts, 37 quantity.
Plates Special: 4 unique parts, 25 quantity.
New Parts
8034Brick Round, Sloped 6 x 6 x 2 / 3 Corner
New Colors
40379Animal Body Part / Plant, Tail / Claw / Horn / Branch / Tentacle, End SectionBright Green
7052Bar, Curved U-Shape 2 x 3Bright Green
54662Hinge Cylinder 1 x 3 Locking with 1 Finger and 2 Fingers On Ends, with Hole, 7 TeethBright Green
7096pat0002Plant, Leaf/Petal 4 x 6 x 1 1 / 3 with Marbled Lime PatternBright Green
Rare Colors and Prints
53923Hinge Cylinder 1 x 2 Locking with 1 Finger and Axle Hole On Ends [No Side Slots]Bright Green
A few new green parts, just a bit of a shame more of the leaves weren''t the stripy one. More than half are plain.
The Build
The base helps to give the pot a bit of height for the draping low hanging leaves. There are tyres on the bottom to help keep it in place.
The pot uses some interesting techniques to get a large round shape with minimal gaps. There is an axle stack in the middle to help join to the base, and also stop the dirt from sagging.
')) AS "similarity", "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined" FROM "blog_article" LEFT OUTER JOIN "auth_user" ON ("blog_article"."author_id" = "auth_user"."id") WHERE ("blog_article"."is_active" AND "blog_article"."published_date" > '2023-11-16T23:51:04.564748+00:00'::timestamptz ANDNOT ("blog_article"."id" = 971)) ORDER BY 19 DESC, "blog_article"."published_date" DESC LIMIT 15SELECT "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", (SIMILARITY("blog_article"."title", 'Review: 11512-1 Hanging Golden Pothos') + SIMILARITY("blog_article"."body", 'I love plants, but unfortunately am not very good at keeping them alive. This is part of the reason why LEGO botanicals sets appeal to me so much. Pretty looking plants that are not threatened by lapses in my memory and associated watering. However, for a few years now I have successfully been growing a few varieties of Pothos. I have golden (the stripy one), neon, and even one with some white streaks (harder to propagate), as well as a darker leafed heartleaf philodendron, which grows in a very similar way. Let''s see how this set compares to the real deal.
Contents
The SetThe PartsThe BuildConclusion
The Set
Relax and unwind as you build the LEGO® Botanicals Hanging Golden Pothos (11512) building set, a highly detailed interpretation of the popular house plant. This versatile display model can be crafted in 2 ways. For display on a shelf or corner nook, build it with 2 vines that hang past the bottom of the pot, or reassemble it with 4 identical vines to fit on a coffee table or countertop. All the leaves and stems are movable so nature lovers can customize their creation. The elegant white plant pot makes it a minimalist plant decor piece for a home office, living room or bedroom. This craft kit makes a lovely gift idea for women, men and nature lovers on birthdays, holidays, housewarmings and other special occasions. And, with the LEGO builder app, you can zoom and rotate your projects in 3D and track your progress. Set contains 372 pieces.
£54.99, $59.99, €59.99 / AUD$99.99
The Box
The box measured 280mm x 260mm x 58mm and weighs 0.57kg. Inside are 4 paper bags numbered 1 to 4, and the loose instructions.
The Instructions
The Australian version of the instruction manuals measures 195mm x 175mm x 2mm. It has 86 pages and 73 or 51 steps depending on the option you build (splitting after 33). There are a couple of pages giving information about the plant.
The Parts
The set contains 372 parts and 4 spares, in 14 colors, and 19 part categories, with a total of 52 unique parts/color combinations.Main colors are:
Reddish Brown: 13 unique parts, 63 quantity.
Bright Green: 9 unique parts, 112 quantity.
White: 8 unique parts, 76 quantity.
Main categories are:
Plates Round Curved and Dishes: 8 unique parts, 20 quantity.
Bricks Round and Cones: 6 unique parts, 37 quantity.
Plates Special: 4 unique parts, 25 quantity.
New Parts
8034Brick Round, Sloped 6 x 6 x 2 / 3 Corner
New Colors
40379Animal Body Part / Plant, Tail / Claw / Horn / Branch / Tentacle, End SectionBright Green
7052Bar, Curved U-Shape 2 x 3Bright Green
54662Hinge Cylinder 1 x 3 Locking with 1 Finger and 2 Fingers On Ends, with Hole, 7 TeethBright Green
7096pat0002Plant, Leaf/Petal 4 x 6 x 1 1 / 3 with Marbled Lime PatternBright Green
Rare Colors and Prints
53923Hinge Cylinder 1 x 2 Locking with 1 Finger and Axle Hole On Ends [No Side Slots]Bright Green
A few new green parts, just a bit of a shame more of the leaves weren''t the stripy one. More than half are plain.
The Build
The base helps to give the pot a bit of height for the draping low hanging leaves. There are tyres on the bottom to help keep it in place.
The pot uses some interesting techniques to get a large round shape with minimal gaps. There is an axle stack in the middle to help join to the base, and also stop the dirt from sagging.
')) AS "similarity", "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined" FROM "blog_article" LEFT OUTER JOIN "auth_user" ON ("blog_article"."author_id" = "auth_user"."id") WHERE ("blog_article"."is_active" AND "blog_article"."published_date" > '2023-11-16T23:51:04.564748+00:00'::timestamptz ANDNOT ("blog_article"."id" = 971)) ORDER BY 19 DESC, "blog_article"."published_date" DESCLIMIT 15
894.78
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(148)
related_articles = article.get_related_articles(num_sidebar_posts)/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./blog/models.py in get_related_articles(289)
return list(Article.objects.select_related('author').filter(published_date__gt=timezone.now()-timedelta(days=365*3)).annotate(similarity=TrigramSimilarity('title', self.title)+TrigramSimilarity('body', body)).exclude(id=self.id).order_by('-similarity', '-published_date')[:num])
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", "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined" FROM "blog_article" LEFT OUTER JOIN "auth_user" ON ("blog_article"."author_id" = "auth_user"."id") LEFT OUTER JOIN "blog_articlestats" ON ("blog_article"."id" = "blog_articlestats"."article_id") WHERE ("blog_article"."is_active" AND "blog_article"."published_date" > '2025-11-15T23:51:05.462586+00:00'::timestamptz) ORDER BY "blog_articlestats"."hits" DESC LIMIT 15SELECT ••• FROM "blog_article" LEFT OUTER JOIN "auth_user" ON ("blog_article"."author_id" = "auth_user"."id") LEFT OUTER JOIN "blog_articlestats" ON ("blog_article"."id" = "blog_articlestats"."article_id") WHERE ("blog_article"."is_active" AND "blog_article"."published_date" > '2025-11-15T23:51:05.462586+00:00'::timestamptz) ORDER BY "blog_articlestats"."hits" DESCLIMIT 15
2.73
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(149)
popular_articles = Article.get_popular_articles(num_sidebar_posts)/home/nathan/rb/site/./cache/utils.py in cache_wrapper(101)
caches[cache_key].set(method_key, result, seconds)/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/client/hash.py in set(344)
return self._run_cmd("set", key, False, *args, **kwargs)/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/client/hash.py in _run_cmd(322)
return self._safely_run_func(client, func, default_val, *args, **kwargs)/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/client/hash.py in _safely_run_func(211)
result = func(*args, **kwargs)/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/client/base.py in set(1424)
return client.set(key, value, expire=expire, noreply=noreply, flags=flags)/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/client/base.py in set(475)
return self._store_cmd(b"set", {key: value}, expire, noreply, flags=flags)[key]/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/client/base.py in _store_cmd(1196)
data, data_flags = self.serde.serialize(key, data)/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/serde.py in serialize(119)
return self._serialize_func(key, value)/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/serde.py in _python_memcache_serializer(58)
pickler.dump(value)
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
9 similar queries.
0.23
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(150)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(50)
{'name': 'Designer Spotlights', 'tag': 'designer-spotlight', 'article': Article.objects.get(id=646)},
SELECT "blog_article"."id", "blog_article"."title", "blog_article"."author_id", "blog_article"."published_date", "blog_article"."is_active", "blog_article"."body", "blog_article"."meta_description", "blog_article"."meta_img", "blog_article"."slug", "blog_article"."category_id", "blog_article"."ads", "blog_article"."show_ads_for_set_num", "blog_article"."review_for_set_num", "blog_article"."status", "blog_article"."scheduled_net", "blog_article"."ready_for_review_date", "blog_article"."is_sensitive", "blog_article"."search_vector" FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 720) LIMIT 21SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 720) LIMIT 21
9 similar queries.
0.40
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(150)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(51)
{'name': 'New Set Releases', 'tag': 'sets', 'article': Article.objects.get(id=720)},
SELECT "blog_article"."id", "blog_article"."title", "blog_article"."author_id", "blog_article"."published_date", "blog_article"."is_active", "blog_article"."body", "blog_article"."meta_description", "blog_article"."meta_img", "blog_article"."slug", "blog_article"."category_id", "blog_article"."ads", "blog_article"."show_ads_for_set_num", "blog_article"."review_for_set_num", "blog_article"."status", "blog_article"."scheduled_net", "blog_article"."ready_for_review_date", "blog_article"."is_sensitive", "blog_article"."search_vector" FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 605) LIMIT 21SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 605) LIMIT 21
9 similar queries.
0.24
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(150)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(52)
{'name': 'Into the Archives', 'tag': 'into-the-archives', 'article': Article.objects.get(id=605)},
SELECT "blog_article"."id", "blog_article"."title", "blog_article"."author_id", "blog_article"."published_date", "blog_article"."is_active", "blog_article"."body", "blog_article"."meta_description", "blog_article"."meta_img", "blog_article"."slug", "blog_article"."category_id", "blog_article"."ads", "blog_article"."show_ads_for_set_num", "blog_article"."review_for_set_num", "blog_article"."status", "blog_article"."scheduled_net", "blog_article"."ready_for_review_date", "blog_article"."is_sensitive", "blog_article"."search_vector" FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 705) LIMIT 21SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 705) LIMIT 21
9 similar queries.
0.34
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(150)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(53)
{'name': 'Mini MOC Madness', 'tag': 'mini-moc-madness', 'article': Article.objects.get(id=705)},
SELECT "blog_article"."id", "blog_article"."title", "blog_article"."author_id", "blog_article"."published_date", "blog_article"."is_active", "blog_article"."body", "blog_article"."meta_description", "blog_article"."meta_img", "blog_article"."slug", "blog_article"."category_id", "blog_article"."ads", "blog_article"."show_ads_for_set_num", "blog_article"."review_for_set_num", "blog_article"."status", "blog_article"."scheduled_net", "blog_article"."ready_for_review_date", "blog_article"."is_sensitive", "blog_article"."search_vector" FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 616) LIMIT 21SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 616) LIMIT 21
9 similar queries.
0.28
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(150)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(54)
{'name': 'Is This LEGO?', 'tag': 'is-this-lego', 'article': Article.objects.get(id=616)},
SELECT "blog_article"."id", "blog_article"."title", "blog_article"."author_id", "blog_article"."published_date", "blog_article"."is_active", "blog_article"."body", "blog_article"."meta_description", "blog_article"."meta_img", "blog_article"."slug", "blog_article"."category_id", "blog_article"."ads", "blog_article"."show_ads_for_set_num", "blog_article"."review_for_set_num", "blog_article"."status", "blog_article"."scheduled_net", "blog_article"."ready_for_review_date", "blog_article"."is_sensitive", "blog_article"."search_vector" FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 462) LIMIT 21SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 462) LIMIT 21
9 similar queries.
0.27
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(150)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(55)
{'name': 'Tips & Useful Info', 'tag': 'tips', 'article': Article.objects.get(id=462)},
SELECT "blog_article"."id", "blog_article"."title", "blog_article"."author_id", "blog_article"."published_date", "blog_article"."is_active", "blog_article"."body", "blog_article"."meta_description", "blog_article"."meta_img", "blog_article"."slug", "blog_article"."category_id", "blog_article"."ads", "blog_article"."show_ads_for_set_num", "blog_article"."review_for_set_num", "blog_article"."status", "blog_article"."scheduled_net", "blog_article"."ready_for_review_date", "blog_article"."is_sensitive", "blog_article"."search_vector" FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 279) LIMIT 21SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 279) LIMIT 21
9 similar queries.
0.23
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(150)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(56)
{'name': 'Rebricksberg', 'tag': 'rebricksberg', 'article': Article.objects.get(id=279)},
SELECT "blog_article"."id", "blog_article"."title", "blog_article"."author_id", "blog_article"."published_date", "blog_article"."is_active", "blog_article"."body", "blog_article"."meta_description", "blog_article"."meta_img", "blog_article"."slug", "blog_article"."category_id", "blog_article"."ads", "blog_article"."show_ads_for_set_num", "blog_article"."review_for_set_num", "blog_article"."status", "blog_article"."scheduled_net", "blog_article"."ready_for_review_date", "blog_article"."is_sensitive", "blog_article"."search_vector" FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 249) LIMIT 21SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."id" = 249) LIMIT 21
9 similar queries.
0.18
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(150)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(57)
{'name': 'The Good, The Bad, & The Ugly', 'tag': 'good-bad-ugly', 'article': Article.objects.get(id=249)},
SELECT COUNT(*) AS "__count" FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('designer-spotlight'))SELECT ••• FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('designer-spotlight'))
8 similar queries.
3.08
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(150)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(60)
s['num_posts'] = Article.objects.filter(tags__slug__iexact=s['tag']).count()
SELECT COUNT(*) AS "__count" FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('sets'))SELECT ••• FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('sets'))
8 similar queries.
2.21
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(150)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(60)
s['num_posts'] = Article.objects.filter(tags__slug__iexact=s['tag']).count()
SELECT COUNT(*) AS "__count" FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('into-the-archives'))SELECT ••• FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('into-the-archives'))
8 similar queries.
3.84
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(150)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(60)
s['num_posts'] = Article.objects.filter(tags__slug__iexact=s['tag']).count()
SELECT COUNT(*) AS "__count" FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('mini-moc-madness'))SELECT ••• FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('mini-moc-madness'))
8 similar queries.
3.27
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(150)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(60)
s['num_posts'] = Article.objects.filter(tags__slug__iexact=s['tag']).count()
SELECT COUNT(*) AS "__count" FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('is-this-lego'))SELECT ••• FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('is-this-lego'))
8 similar queries.
2.25
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(150)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(60)
s['num_posts'] = Article.objects.filter(tags__slug__iexact=s['tag']).count()
SELECT COUNT(*) AS "__count" FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('tips'))SELECT ••• FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('tips'))
8 similar queries.
2.20
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(150)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(60)
s['num_posts'] = Article.objects.filter(tags__slug__iexact=s['tag']).count()
SELECT COUNT(*) AS "__count" FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('rebricksberg'))SELECT ••• FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('rebricksberg'))
8 similar queries.
2.73
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(150)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(60)
s['num_posts'] = Article.objects.filter(tags__slug__iexact=s['tag']).count()
SELECT COUNT(*) AS "__count" FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('good-bad-ugly'))SELECT ••• FROM "blog_article" INNER JOIN "taggit_taggeditem" ON ("blog_article"."id" = "taggit_taggeditem"."object_id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_tag" ON ("taggit_taggeditem"."tag_id" = "taggit_tag"."id") WHERE ("blog_article"."is_active" AND UPPER("taggit_tag"."slug"::text) = UPPER('good-bad-ugly'))
8 similar queries.
2.52
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(150)
article_series_images = get_series()/home/nathan/rb/site/./blog/views.py in get_series(60)
s['num_posts'] = Article.objects.filter(tags__slug__iexact=s['tag']).count()
SELECT "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"."published_date" = '2026-10-30T00:00:00.072837+00:00'::timestamptz AND "blog_article"."id" > 971) OR "blog_article"."published_date" > '2026-10-30T00:00:00.072837+00:00'::timestamptz)) ORDER BY "blog_article"."published_date" ASC, "blog_article"."id" ASC LIMIT 1SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND (("blog_article"."published_date" = '2026-10-30T00:00:00.072837+00:00'::timestamptz AND "blog_article"."id" > 971) OR "blog_article"."published_date" > '2026-10-30T00:00:00.072837+00:00'::timestamptz)) ORDER BY "blog_article"."published_date" ASC, "blog_article"."id" ASCLIMIT 1
0.26
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(155)
article.next = Article.get_next_by_published_date(article)/usr/lib/python3.10/functools.py in _method(388)
return self.func(cls_or_self, *self.args, *args, **keywords)
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"."published_date" = '2026-10-30T00:00:00.072837+00:00'::timestamptz AND "blog_article"."id" < 971) OR "blog_article"."published_date" < '2026-10-30T00:00:00.072837+00:00'::timestamptz)) ORDER BY "blog_article"."published_date" DESC, "blog_article"."id" DESC LIMIT 1SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND (("blog_article"."published_date" = '2026-10-30T00:00:00.072837+00:00'::timestamptz AND "blog_article"."id" < 971) OR "blog_article"."published_date" < '2026-10-30T00:00:00.072837+00:00'::timestamptz)) ORDER BY "blog_article"."published_date" DESC, "blog_article"."id" DESCLIMIT 1
0.50
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(159)
article.prev = Article.get_previous_by_published_date(article)/usr/lib/python3.10/functools.py in _method(388)
return self.func(cls_or_self, *self.args, *args, **keywords)
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(190)
context['reviewed_sets'] = article.get_reviewed_sets/home/nathan/rb/site/./blog/models.py in get_reviewed_sets(146)
sets.append(BaseSet.all_objects.get(set_num=sn))
SELECT "lego_baseset"."id", "lego_baseset"."set_num", "lego_baseset"."name", "lego_baseset"."year", "lego_baseset"."theme_id", "lego_baseset"."set_type", "lego_baseset"."num_parts", "lego_baseset"."default_inventory_id", "lego_baseset"."is_active", "lego_baseset"."is_accessory", "lego_baseset"."added_dt", "lego_baseset"."added_by_id", "lego_baseset"."last_modified_dt", "lego_baseset"."last_modified_by_id", "lego_baseset"."active_change_dt", "lego_baseset"."active_change_by_id", "lego_baseset"."last_checked_for_bi", "lego_baseset"."descr", "lego_baseset"."primary_photo_id", "lego_baseset"."primary_moc_image_id", "lego_baseset"."is_gear", "lego_baseset"."is_book", "lego_baseset"."search_vector", "lego_baseset"."mfhash_vector", "lego_set"."baseset_ptr_id", "lego_set"."start_date", "lego_set"."end_date", "lego_theme"."id", "lego_theme"."parent_id", "lego_theme"."name", "lego_theme"."slug", "lego_theme"."set_count", "lego_theme"."t1_id", "lego_theme"."t1_name", "lego_theme"."t2_name", "lego_theme"."t3_name", "lego_theme"."lego_blurb", "lego_theme"."banner_img", "lego_theme"."descr", T4."id", T4."parent_id", T4."name", T4."slug", T4."set_count", T4."t1_id", T4."t1_name", T4."t2_name", T4."t3_name", T4."lego_blurb", T4."banner_img", T4."descr", T5."id", T5."parent_id", T5."name", T5."slug", T5."set_count", T5."t1_id", T5."t1_name", T5."t2_name", T5."t3_name", T5."lego_blurb", T5."banner_img", T5."descr", "lego_setstatstotal"."set_id", "lego_setstatstotal"."hits", "lego_setstatstotal"."builds", "lego_setstatstotal"."likes", "lego_setstatstotal"."bi_downloads", "lego_setstatstotal"."featured_hits", "lego_setstatstotal"."user_hits" FROM "lego_set" INNER JOIN "lego_baseset" ON ("lego_set"."baseset_ptr_id" = "lego_baseset"."id") INNER JOIN "lego_theme" ON ("lego_baseset"."theme_id" = "lego_theme"."id") LEFT OUTER JOIN "lego_theme" T4 ON ("lego_theme"."parent_id" = T4."id") LEFT OUTER JOIN "lego_theme" T5 ON (T4."parent_id" = T5."id") LEFT OUTER JOIN "lego_setstatstotal" ON ("lego_baseset"."id" = "lego_setstatstotal"."set_id") WHERE ("lego_baseset"."is_active" AND "lego_baseset"."set_num" = '11512-1') LIMIT 21SELECT ••• FROM "lego_set" INNER JOIN "lego_baseset" ON ("lego_set"."baseset_ptr_id" = "lego_baseset"."id") INNER JOIN "lego_theme" ON ("lego_baseset"."theme_id" = "lego_theme"."id") LEFT OUTER JOIN "lego_theme" T4 ON ("lego_theme"."parent_id" = T4."id") LEFT OUTER JOIN "lego_theme" T5 ON (T4."parent_id" = T5."id") LEFT OUTER JOIN "lego_setstatstotal" ON ("lego_baseset"."id" = "lego_setstatstotal"."set_id") WHERE ("lego_baseset"."is_active" AND "lego_baseset"."set_num" = '11512-1') LIMIT 21
0.66
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(203)
context['lego_affiliate_links'] = get_lego_affiliate_links(article.show_ads_for_set_num_short)/home/nathan/rb/site/./lego/buy/sets.py in get_lego_affiliate_links(464)
set = get_or_none(Set.objects, set_num=set_num + '-1')/home/nathan/rb/site/./rb/utils.py in get_or_none(734)
return manager.get(**kwargs)
SELECTDISTINCT ("taggit_taggeditem"."object_id") AS "_prefetch_related_val", "taggit_tag"."id", "taggit_tag"."name", "taggit_tag"."slug" FROM "taggit_tag" INNER JOIN "taggit_taggeditem" ON ("taggit_tag"."id" = "taggit_taggeditem"."tag_id") INNER JOIN "django_content_type" ON ("taggit_taggeditem"."content_type_id" = "django_content_type"."id") WHERE ("django_content_type"."app_label" = 'lego' AND "django_content_type"."model" = 'set' AND "taggit_taggeditem"."object_id" IN (340765))SELECT ••• FROM "taggit_tag" INNER JOIN "taggit_taggeditem" ON ("taggit_tag"."id" = "taggit_taggeditem"."tag_id") INNER JOIN "django_content_type" ON ("taggit_taggeditem"."content_type_id" = "django_content_type"."id") WHERE ("django_content_type"."app_label" = 'lego' AND "django_content_type"."model" = 'set' AND "taggit_taggeditem"."object_id" IN (340765))
0.40
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(203)
context['lego_affiliate_links'] = get_lego_affiliate_links(article.show_ads_for_set_num_short)/home/nathan/rb/site/./lego/buy/sets.py in get_lego_affiliate_links(464)
set = get_or_none(Set.objects, set_num=set_num + '-1')/home/nathan/rb/site/./rb/utils.py in get_or_none(734)
return manager.get(**kwargs)
SELECT "lego_storesetitem"."id", "lego_storesetitem"."store_id", "lego_storesetitem"."is_used", "lego_storesetitem"."cost", "lego_storesetitem"."cost_usd", "lego_storesetitem"."sale_cost", "lego_storesetitem"."sku", "lego_storesetitem"."item_url", "lego_storesetitem"."quantity", "lego_storesetitem"."timestamp", "lego_storesetitem"."set_id", "lego_store"."id", "lego_store"."name", "lego_store"."is_active", "lego_store"."store_url", "lego_store"."add_item_url", "lego_store"."feed_url", "lego_store"."tag_line", "lego_store"."currency_code", "lego_store"."country_code", "lego_store"."bricklink_sellername", "lego_store"."ships_to" FROM "lego_storesetitem" INNER JOIN "lego_store" ON ("lego_storesetitem"."store_id" = "lego_store"."id") WHERE (NOT "lego_storesetitem"."is_used" AND "lego_storesetitem"."set_id" = 340765 AND "lego_storesetitem"."store_id" IN (SELECT U0."id" FROM "lego_store" U0 WHERE (U0."is_active" AND UPPER(U0."store_url"::text) LIKE UPPER('%linksynergy.com%'))))SELECT ••• FROM "lego_storesetitem" INNER JOIN "lego_store" ON ("lego_storesetitem"."store_id" = "lego_store"."id") WHERE (NOT "lego_storesetitem"."is_used" AND "lego_storesetitem"."set_id" = 340765 AND "lego_storesetitem"."store_id" IN (SELECT ••• FROM "lego_store" U0 WHERE (U0."is_active" AND UPPER(U0."store_url"::text) LIKE UPPER('%linksynergy.com%'))))
2.15
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(203)
context['lego_affiliate_links'] = get_lego_affiliate_links(article.show_ads_for_set_num_short)/home/nathan/rb/site/./lego/buy/sets.py in get_lego_affiliate_links(470)
if not items:
SELECT "lego_baseset"."id", "lego_baseset"."set_num", "lego_baseset"."name", "lego_baseset"."year", "lego_baseset"."theme_id", "lego_baseset"."set_type", "lego_baseset"."num_parts", "lego_baseset"."default_inventory_id", "lego_baseset"."is_active", "lego_baseset"."is_accessory", "lego_baseset"."added_dt", "lego_baseset"."added_by_id", "lego_baseset"."last_modified_dt", "lego_baseset"."last_modified_by_id", "lego_baseset"."active_change_dt", "lego_baseset"."active_change_by_id", "lego_baseset"."last_checked_for_bi", "lego_baseset"."descr", "lego_baseset"."primary_photo_id", "lego_baseset"."primary_moc_image_id", "lego_baseset"."is_gear", "lego_baseset"."is_book", "lego_baseset"."search_vector", "lego_baseset"."mfhash_vector", "lego_theme"."id", "lego_theme"."parent_id", "lego_theme"."name", "lego_theme"."slug", "lego_theme"."set_count", "lego_theme"."t1_id", "lego_theme"."t1_name", "lego_theme"."t2_name", "lego_theme"."t3_name", "lego_theme"."lego_blurb", "lego_theme"."banner_img", "lego_theme"."descr", T3."id", T3."parent_id", T3."name", T3."slug", T3."set_count", T3."t1_id", T3."t1_name", T3."t2_name", T3."t3_name", T3."lego_blurb", T3."banner_img", T3."descr", T4."id", T4."parent_id", T4."name", T4."slug", T4."set_count", T4."t1_id", T4."t1_name", T4."t2_name", T4."t3_name", T4."lego_blurb", T4."banner_img", T4."descr", "lego_setstatstotal"."set_id", "lego_setstatstotal"."hits", "lego_setstatstotal"."builds", "lego_setstatstotal"."likes", "lego_setstatstotal"."bi_downloads", "lego_setstatstotal"."featured_hits", "lego_setstatstotal"."user_hits" FROM "lego_baseset" INNER JOIN "lego_theme" ON ("lego_baseset"."theme_id" = "lego_theme"."id") LEFT OUTER JOIN "lego_theme" T3 ON ("lego_theme"."parent_id" = T3."id") LEFT OUTER JOIN "lego_theme" T4 ON (T3."parent_id" = T4."id") LEFT OUTER JOIN "lego_setstatstotal" ON ("lego_baseset"."id" = "lego_setstatstotal"."set_id") WHERE ("lego_baseset"."is_active" AND "lego_baseset"."set_num" = '11512-1') LIMIT 21SELECT ••• FROM "lego_baseset" INNER JOIN "lego_theme" ON ("lego_baseset"."theme_id" = "lego_theme"."id") LEFT OUTER JOIN "lego_theme" T3 ON ("lego_theme"."parent_id" = T3."id") LEFT OUTER JOIN "lego_theme" T4 ON (T3."parent_id" = T4."id") LEFT OUTER JOIN "lego_setstatstotal" ON ("lego_baseset"."id" = "lego_setstatstotal"."set_id") WHERE ("lego_baseset"."is_active" AND "lego_baseset"."set_num" = '11512-1') LIMIT 21
0.58
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(204)
context['lego_affiliate_links_set'] = get_or_none(BaseSet.objects, set_num=article.show_ads_for_set_num_short + '-1')/home/nathan/rb/site/./rb/utils.py in get_or_none(734)
return manager.get(**kwargs)
SELECT "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined" FROM "auth_user" WHERE "auth_user"."id" = 159879 LIMIT 21SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 159879 LIMIT 21
0.31
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)
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.24
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)/home/nathan/rb/site/./rb/templatetags/rb_geo.py in geo_currency(20)
geo_data = user.geo.get_user_currency()/home/nathan/rb/site/./geo/geo.py in get_user_currency(253)
country = Country.objects.get(iso=country_code)
74
</a>
75
</li>
76
<li>
77
{% geo_currency request.user %}
78
</li>
79
{% comment %}
80
<li class="hidden-xs hidden-sm">
81
<a href={% if request.user.is_authenticated %}"{% url 'user_profile_settings' request.user.get_username %}#personalisation"{% else %}"#" onclick="return false;"{% endif %} title="All date/times are being converted to this timezone">{% get_user_timezone request.user %}</a>
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
0.12
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)
SELECT "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined" FROM "auth_user" WHERE "auth_user"."username" = 'icedragonj' LIMIT 21SELECT ••• FROM "auth_user" WHERE "auth_user"."username" = 'icedragonj' LIMIT 21
2 similar queries.
Duplicated 2 times.
0.12
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
avatar_url = provider.get_avatar_url(user, size)/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
avatar = get_primary_avatar(user, size)/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(112)
user = get_user(user)/home/nathan/rb/site/./avatar/utils.py in get_user(33)
return get_user_model().objects.get_by_natural_key(username)
SELECT "avatar_avatar"."id", "avatar_avatar"."user_id", "avatar_avatar"."primary", "avatar_avatar"."avatar", "avatar_avatar"."date_uploaded" FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 159879 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 159879 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
2 similar queries.
Duplicated 2 times.
0.10
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)/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 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" = '971' 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" = '971' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
2 similar queries.
Duplicated 2 times.
1.07
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)/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()
SELECT "blog_articlestats"."article_id", "blog_articlestats"."hits" FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 971 LIMIT 21SELECT ••• FROM "blog_articlestats" WHERE "blog_articlestats"."article_id" = 971 LIMIT 21
0.10
Connection: default
Transaction status: In transaction
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)/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 "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined" FROM "auth_user" WHERE "auth_user"."username" = 'icedragonj' LIMIT 21SELECT ••• FROM "auth_user" WHERE "auth_user"."username" = 'icedragonj' LIMIT 21
2 similar queries.
Duplicated 2 times.
0.09
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
avatar_url = provider.get_avatar_url(user, size)/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
avatar = get_primary_avatar(user, size)/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(112)
user = get_user(user)/home/nathan/rb/site/./avatar/utils.py in get_user(33)
return get_user_model().objects.get_by_natural_key(username)
SELECT "avatar_avatar"."id", "avatar_avatar"."user_id", "avatar_avatar"."primary", "avatar_avatar"."avatar", "avatar_avatar"."date_uploaded" FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 159879 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 159879 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
2 similar queries.
Duplicated 2 times.
0.08
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)/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 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" = '971' 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" = '971' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
2 similar queries.
Duplicated 2 times.
0.18
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)/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()
SELECT "lego_setphoto"."id", "lego_setphoto"."set_id", "lego_setphoto"."photo_type_id", "lego_setphoto"."submitted_by_id", "lego_setphoto"."timestamp", "lego_setphoto"."is_active", "lego_setphoto"."is_primary" FROM "lego_setphoto" WHERE "lego_setphoto"."id" = 176940 LIMIT 21SELECT ••• FROM "lego_setphoto" WHERE "lego_setphoto"."id" = 176940 LIMIT 21
2 similar queries.
Duplicated 2 times.
0.09
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)/home/nathan/rb/site/./lego/models/sets.py in img_dir(785)
file_dir = self.primary_photo.get_img_dir()
SELECT "lego_setphoto"."id", "lego_setphoto"."set_id", "lego_setphoto"."photo_type_id", "lego_setphoto"."submitted_by_id", "lego_setphoto"."timestamp", "lego_setphoto"."is_active", "lego_setphoto"."is_primary" FROM "lego_setphoto" WHERE "lego_setphoto"."id" = 176940 LIMIT 21SELECT ••• FROM "lego_setphoto" WHERE "lego_setphoto"."id" = 176940 LIMIT 21
2 similar queries.
Duplicated 2 times.
0.13
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)/home/nathan/rb/site/./lego/models/sets.py in img_dir(785)
file_dir = self.primary_photo.get_img_dir()
42
{# Image #}
43
<div class="rb-card__image {% if set.is_figure %} js-hover-card{% endif %}" {% if set.is_figure %}data-hover="{% url 'minfig_hover' set.set_num %}"{% endif %}>
44
<a href="{{ set.get_absolute_url }}{% if inventory and not set.is_moc %}?inventory={{ inventory.version }}{% endif %}">
45
{% if not set.img_dir and set.is_figure %}
46
{% include 'lego/includes/render_set_img.html' with img_file='nil_mf.jpg' tn_options=tn_options %}
47
{% else %}
48
{% include 'lego/includes/render_set_img.html' with img_file=set.img_dir tn_options=tn_options %}
SELECT "lego_theme"."id", "lego_theme"."parent_id", "lego_theme"."name", "lego_theme"."slug", "lego_theme"."set_count", "lego_theme"."t1_id", "lego_theme"."t1_name", "lego_theme"."t2_name", "lego_theme"."t3_name", "lego_theme"."lego_blurb", "lego_theme"."banner_img", "lego_theme"."descr" FROM "lego_theme" WHERE "lego_theme"."id" = 769 LIMIT 21SELECT ••• FROM "lego_theme" WHERE "lego_theme"."id" = 769 LIMIT 21
0.11
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)
SELECTDISTINCT "taggit_tag"."id", "taggit_tag"."name", "taggit_tag"."slug", COUNT("blog_article"."id") AS "count" FROM "taggit_tag" INNER JOIN "taggit_taggeditem" ON ("taggit_tag"."id" = "taggit_taggeditem"."tag_id") INNER JOIN "django_content_type" ON ("taggit_taggeditem"."content_type_id" = "django_content_type"."id") LEFT OUTER JOIN "blog_article" ON ("taggit_taggeditem"."object_id" = "blog_article"."id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_taggeditem" T5 ON ("taggit_tag"."id" = T5."tag_id") INNER JOIN "blog_article" T6 ON (T5."object_id" = T6."id" AND (T5."content_type_id" = 12)) WHERE ("django_content_type"."app_label" = 'blog' AND "django_content_type"."model" = 'article' AND T6."id" = 971) GROUP BY "taggit_tag"."id"SELECT ••• FROM "taggit_tag" INNER JOIN "taggit_taggeditem" ON ("taggit_tag"."id" = "taggit_taggeditem"."tag_id") INNER JOIN "django_content_type" ON ("taggit_taggeditem"."content_type_id" = "django_content_type"."id") LEFT OUTER JOIN "blog_article" ON ("taggit_taggeditem"."object_id" = "blog_article"."id" AND ("taggit_taggeditem"."content_type_id" = 12)) INNER JOIN "taggit_taggeditem" T5 ON ("taggit_tag"."id" = T5."tag_id") INNER JOIN "blog_article" T6 ON (T5."object_id" = T6."id" AND (T5."content_type_id" = 12)) WHERE ("django_content_type"."app_label" = 'blog' AND "django_content_type"."model" = 'article' AND T6."id" = 971) GROUP BY "taggit_tag"."id"
61.18
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)
SELECT (width*height) AS "area", "ads_banner"."id", "ads_banner"."width", "ads_banner"."height", "ads_banner"."start_date", "ads_banner"."end_date", "ads_banner"."country_code", "ads_banner"."html" FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-11-15T23:51:05.619632+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:51:05.619760+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 350 AND "ads_banner"."start_date" < '2026-11-15T23:51:05.619605+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-11-15T23:51:05.619897+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')SELECT ••• FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-11-15T23:51:05.619632+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:51:05.619760+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 350 AND "ads_banner"."start_date" < '2026-11-15T23:51:05.619605+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-11-15T23:51:05.619897+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
4 similar queries.
2.61
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)/home/nathan/rb/site/./ads/templatetags/ads/drawing.py in render_banner(291)
if not banners:
265
<h4 class="hidden-xs">TAGS</h4>
266
{% include 'blog/includes/render_tags.html' %}
267
268
{% render_banner 262 350 2 %}
269
270
{% include 'blog/includes/render_posts_preview_tabs.html' %}
SELECT (width*height) AS "area", "ads_banner"."id", "ads_banner"."width", "ads_banner"."height", "ads_banner"."start_date", "ads_banner"."end_date", "ads_banner"."country_code", "ads_banner"."html" FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-11-15T23:51:05.619632+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:51:05.619760+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 350 AND "ads_banner"."start_date" < '2026-11-15T23:51:05.619605+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-11-15T23:51:05.619897+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-11-15T23:51:05.619632+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:51:05.619760+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 350 AND "ads_banner"."start_date" < '2026-11-15T23:51:05.619605+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-11-15T23:51:05.619897+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US') ORDER BY 1 DESC, RANDOM() ASCLIMIT 1
4 similar queries.
1.26
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)/home/nathan/rb/site/./ads/templatetags/ads/drawing.py in render_banner(298)
banner = banners.order_by('-area', '?')[0]
265
<h4 class="hidden-xs">TAGS</h4>
266
{% include 'blog/includes/render_tags.html' %}
267
268
{% render_banner 262 350 2 %}
269
270
{% include 'blog/includes/render_posts_preview_tabs.html' %}
SELECT (width*height) AS "area", "ads_banner"."id", "ads_banner"."width", "ads_banner"."height", "ads_banner"."start_date", "ads_banner"."end_date", "ads_banner"."country_code", "ads_banner"."html" FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-11-15T23:51:05.630701+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:51:05.630788+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:51:05.630685+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-11-15T23:51:05.630968+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')SELECT ••• FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-11-15T23:51:05.630701+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:51:05.630788+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:51:05.630685+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-11-15T23:51:05.630968+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
4 similar queries.
1.34
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)/home/nathan/rb/site/./ads/templatetags/ads/drawing.py in render_banner(291)
if not banners:
37
{% include 'blog/includes/render_posts_preview.html' with article=related_article %}
38
</div>
39
{% endfor %}
40
{% render_banner 262 600 5 %}
41
</div>
42
{% endif %}
43
<div id="tab_series" class="tab-pane {% if not related_articles %}active{% endif %}" role="tabpanel">
SELECT (width*height) AS "area", "ads_banner"."id", "ads_banner"."width", "ads_banner"."height", "ads_banner"."start_date", "ads_banner"."end_date", "ads_banner"."country_code", "ads_banner"."html" FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-11-15T23:51:05.630701+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:51:05.630788+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:51:05.630685+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-11-15T23:51:05.630968+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-11-15T23:51:05.630701+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:51:05.630788+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:51:05.630685+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-11-15T23:51:05.630968+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US') ORDER BY 1 DESC, RANDOM() ASCLIMIT 1
4 similar queries.
1.22
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)/home/nathan/rb/site/./ads/templatetags/ads/drawing.py in render_banner(298)
banner = banners.order_by('-area', '?')[0]
37
{% include 'blog/includes/render_posts_preview.html' with article=related_article %}
38
</div>
39
{% endfor %}
40
{% render_banner 262 600 5 %}
41
</div>
42
{% endif %}
43
<div id="tab_series" class="tab-pane {% if not related_articles %}active{% endif %}" role="tabpanel">
SELECT (width*height) AS "area", "ads_banner"."id", "ads_banner"."width", "ads_banner"."height", "ads_banner"."start_date", "ads_banner"."end_date", "ads_banner"."country_code", "ads_banner"."html" FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-11-15T23:51:05.635662+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:51:05.635724+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:51:05.635653+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-11-15T23:51:05.635876+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')SELECT ••• FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-11-15T23:51:05.635662+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:51:05.635724+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:51:05.635653+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-11-15T23:51:05.635876+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
4 similar queries.
1.12
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)/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-11-15T23:51:05.635662+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:51:05.635724+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:51:05.635653+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-11-15T23:51:05.635876+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-11-15T23:51:05.635662+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:51:05.635724+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:51:05.635653+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-11-15T23:51:05.635876+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US') ORDER BY 1 DESC, RANDOM() ASCLIMIT 1
4 similar queries.
1.08
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)/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-11-15T23:51:05.641930+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:51:05.641995+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:51:05.641921+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-11-15T23:51:05.642110+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')SELECT ••• FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-11-15T23:51:05.641930+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:51:05.641995+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:51:05.641921+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-11-15T23:51:05.642110+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US')
4 similar queries.
1.21
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)/home/nathan/rb/site/./ads/templatetags/ads/drawing.py in render_banner(291)
if not banners:
74
{% include 'blog/includes/render_posts_preview.html' with article=popular_article %}
SELECT (width*height) AS "area", "ads_banner"."id", "ads_banner"."width", "ads_banner"."height", "ads_banner"."start_date", "ads_banner"."end_date", "ads_banner"."country_code", "ads_banner"."html" FROM "ads_banner" WHERE ("ads_banner"."start_date" < '2026-11-15T23:51:05.641930+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:51:05.641995+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:51:05.641921+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-11-15T23:51:05.642110+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-11-15T23:51:05.641930+00:00'::timestamptz AND ("ads_banner"."end_date" > '2026-11-15T23:51:05.641995+00:00'::timestamptz OR "ads_banner"."end_date" ISNULL) AND "ads_banner"."height" <= 600 AND "ads_banner"."start_date" < '2026-11-15T23:51:05.641921+00:00'::timestamptz AND "ads_banner"."width" <= 262 AND ("ads_banner"."end_date" ISNULLOR "ads_banner"."end_date" > '2026-11-15T23:51:05.642110+00:00'::timestamptz) AND "ads_banner"."country_code" = 'US') ORDER BY 1 DESC, RANDOM() ASCLIMIT 1
4 similar queries.
1.11
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./blog/views.py in blog_article_w_slug(236)
return blog_article(request, article_id)/home/nathan/rb/site/./blog/views.py in blog_article(213)
return cached_blog_article(request, article.id)/home/nathan/rb/site/./rb/views/decorators/auth.py in wrapper(169)
result = view_func(request, *args, **kwargs)/home/nathan/rb/site/./blog/views.py in cached_blog_article(209)
return render(request, 'blog/blog_article.html', context)/home/nathan/rb/site/./ads/templatetags/ads/drawing.py in render_banner(298)
banner = banners.order_by('-area', '?')[0]
74
{% include 'blog/includes/render_posts_preview.html' with article=popular_article %}