Here's one of my favourites, the beautifully assymetric Rogue Shadow from the 2008 game The Force Unleashed. This ship has an unsually dark story, it was commissioned by Darth Vader to be built in secret for his secret apprentice Starkiller and when it was finished Vader had everyone who worked on it murdered to keep it secret! He was a nasty piece of work that Vader, you definitely wouldn't lend him your car.
This little Rogue Shadow has rotating wings and engine plus a stand, so you can display it with the wings in flight position. There's no interior on this one I'm afraid, the odd shape meant the bulk of the structure needed to be Technic bricks for strength and the whole rear is busy supporting the rotating engine and wings.
The hardest choices for this moc were the colour and size. In the game the Rogue Shadow appears to be somewhere between dark bluish grey and black, with some dark blue accents, however in 2008 Lego released their own version which was almost all black. It’s cheaper and easier to build in black so that’s the route I’ve gone down, however I plan to add a dark grey and blue colour scheme as a Studio model in the instructions tab, just in case you disagree with me!
I could only find a few game screenshots to help with scale, Wookieepedia suggests that the Rogue Shadow should be 65m long (almost two Millennium Falcons) whereas the screenshots make it 35-40m long. I wasn’t sure which to chose until I found pictures of the cockpit interior which looked similar size to the Falcon, so I went for the smaller overall option. I’ve since read that the 65m stat might only have appeared once and on the package of a toy, so I feel a lot better about ignoring it :)
I hope you all enjoy this little flashback to an icon from one of the best Star Wars games around! My next one will be a little bit more recent as I've made a start on The Mantis. Thanks for looking!
Update: I replaced the red 2L axle inside the cockpit with a yellow 3L axle, to replicate the yellow glow in the actual ship. Both pieces are still present in the inventory so it doesn't matter which set if instructions you're following.
Great little design! The jumper plate (step 17) used to hold the wings in flight mode didn't seem to stop rotation correctly. Could be my worn out parts, I don't know. I checked against the instructions multiple times. I replaced jumper with 44861 1x2 modified plate with vertical clip. The tips of the empty clip seem to be just right. Plates and tiles just didn't seem to nail the position. I prefer the red-pin cockpit. It just screams "Sith". Also, kudos on your entire micro fleet.
Thanks for the feedback, I’ve just got my head around your change and it sounds ideal, I’ll have to try it! I was stuck for a long time about how to get the wings to stop in the forward position, it’s actually the jumper in step 37 that does the job when the angular 2x2 corner tile bumps up against it. Maybe check you’ve got that in the right place (in your defence the instructions could be a lot clearer), but it sounds like you’ve got it sorted. And I’m glad you like it!
We provide links to third-party stores that sell LEGO products.
If you use these stores, you are not buying from Rebrickable.
Click the button below to search the stores.
default
44.39 ms (51 queries
including 35 similar
and 19 duplicates
)
Query
Timeline
Time (ms)
Action
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"."last_checked_for_bi", "lego_baseset"."descr", "lego_baseset"."primary_photo_id", "lego_baseset"."is_gear", "lego_baseset"."is_book", "lego_baseset"."search_vector", "lego_baseset"."mfhash_vector", "lego_moc"."baseset_ptr_id", "lego_moc"."designer_id", "lego_moc"."detail_url", "lego_moc"."gallery_url", "lego_moc"."bi_url", "lego_moc"."cad_url", "lego_moc"."video", "lego_moc"."bi_type", "lego_moc"."is_for_sale", "lego_moc"."is_hosted", "lego_moc"."cost", "lego_moc"."currency_id", "lego_moc"."parent_set_1_id", "lego_moc"."parent_set_2_id", "lego_moc"."parent_set_3_id", "lego_moc"."parent_set_4_id", "lego_moc"."parent_set_5_id", "lego_moc"."parent_inv_1_id", "lego_moc"."parent_inv_2_id", "lego_moc"."parent_inv_3_id", "lego_moc"."parent_inv_4_id", "lego_moc"."parent_inv_5_id", "lego_moc"."parent_type", "lego_moc"."is_allowed_premium", "lego_moc"."is_locked", "lego_moc"."last_social_post", "lego_moc"."is_review_requested", "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", "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", "lego_designer"."user_ptr_id", "lego_designer"."auto_approve", "lego_designer"."num_auto_approved", "lego_designer"."last_checked_for_moc_errors", "accounts_userplan"."user_id", "accounts_userplan"."plan_id", "accounts_userplan"."expiry_date", "accounts_userplan"."last_paid_date", "accounts_userplan"."is_subscription_active", "accounts_userplan"."subscription_period", "accounts_userplan"."payment_source", "accounts_userplan"."stripe_customer_id", "accounts_userplan"."stripe_subscription_id", "accounts_userplan"."paypal_subscription_id", "accounts_userplan"."base_free_plan_id", "accounts_userplan"."is_reminder_sent", "plans_plan"."id", "plans_plan"."type", "plans_plan"."version", "plans_plan"."stripe_id", "plans_plan"."paypal_id", "plans_plan"."cost_single", "plans_plan"."cost_monthly", "plans_plan"."cost_yearly", T10."id", T10."set_num", T10."name", T10."year", T10."theme_id", T10."set_type", T10."num_parts", T10."default_inventory_id", T10."is_active", T10."is_accessory", T10."added_dt", T10."added_by_id", T10."last_modified_dt", T10."last_modified_by_id", T10."last_checked_for_bi", T10."descr", T10."primary_photo_id", T10."is_gear", T10."is_book", T10."search_vector", T10."mfhash_vector", "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_moc" INNER JOIN "lego_baseset" ON ("lego_moc"."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") INNER JOIN "lego_designer" ON ("lego_moc"."designer_id" = "lego_designer"."user_ptr_id") INNER JOIN "auth_user" ON ("lego_designer"."user_ptr_id" = "auth_user"."id") LEFT OUTER JOIN "accounts_userplan" ON ("auth_user"."id" = "accounts_userplan"."user_id") LEFT OUTER JOIN "plans_plan" ON ("accounts_userplan"."plan_id" = "plans_plan"."id") LEFT OUTER JOIN "lego_baseset" T10 ON ("lego_moc"."parent_set_1_id" = T10."id") LEFT OUTER JOIN "lego_setstatstotal" ON ("lego_baseset"."id" = "lego_setstatstotal"."set_id") WHERE "lego_baseset"."set_num" = 'MOC-61909' LIMIT 21SELECT ••• FROM "lego_moc" INNER JOIN "lego_baseset" ON ("lego_moc"."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") INNER JOIN "lego_designer" ON ("lego_moc"."designer_id" = "lego_designer"."user_ptr_id") INNER JOIN "auth_user" ON ("lego_designer"."user_ptr_id" = "auth_user"."id") LEFT OUTER JOIN "accounts_userplan" ON ("auth_user"."id" = "accounts_userplan"."user_id") LEFT OUTER JOIN "plans_plan" ON ("accounts_userplan"."plan_id" = "plans_plan"."id") LEFT OUTER JOIN "lego_baseset" T10 ON ("lego_moc"."parent_set_1_id" = T10."id") LEFT OUTER JOIN "lego_setstatstotal" ON ("lego_baseset"."id" = "lego_setstatstotal"."set_id") WHERE "lego_baseset"."set_num" = 'MOC-61909' LIMIT 21
11.33
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(423)
moc = Moc.all_objects.select_related('designer', 'stats').get(set_num=set_num)
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" = 'moc' AND "taggit_taggeditem"."object_id" IN (83137))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" = 'moc' AND "taggit_taggeditem"."object_id" IN (83137))
0.39
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(423)
moc = Moc.all_objects.select_related('designer', 'stats').get(set_num=set_num)
SELECT "lego_inventory"."id", "lego_inventory"."set_id", "lego_inventory"."version", "lego_inventory"."name", "lego_inventory"."is_active", "lego_inventory"."num_parts", "lego_inventory"."num_versions" FROM "lego_inventory" WHERE ("lego_inventory"."set_id" = 83137 AND "lego_inventory"."version" = 1) LIMIT 21SELECT ••• FROM "lego_inventory" WHERE ("lego_inventory"."set_id" = 83137 AND "lego_inventory"."version" = 1) LIMIT 21
0.13
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(523)
inventory = get_object_or_404(Inventory.all_objects, set=moc, version=inventory_version)
SELECT "lego_changelog"."id", "lego_changelog"."timestamp", "lego_changelog"."user_id", "lego_changelog"."model", "lego_changelog"."instance_id", "lego_changelog"."set_num", "lego_changelog"."part_num", "lego_changelog"."old_value", "lego_changelog"."new_value" FROM "lego_changelog" WHERE "lego_changelog"."set_num" = 'MOC-61909' ORDER BY "lego_changelog"."timestamp" DESCSELECT ••• FROM "lego_changelog" WHERE "lego_changelog"."set_num" = 'MOC-61909' ORDER BY "lego_changelog"."timestamp" DESC
2.42
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(538)
changes = moc.get_change_summary()/home/nathan/rb/site/./lego/models/sets.py in get_change_summary(1121)
changes = ChangeLog.get_changes(set_num=self.set_num)/home/nathan/rb/site/./lego/models/changes.py in get_changes(276)
if len(changes) > 0:
SELECT "lego_mocinstructions"."id", "lego_mocinstructions"."moc_id", "lego_mocinstructions"."uploaded", "lego_mocinstructions"."file_size", "lego_mocinstructions"."to_be_uploaded", "lego_mocinstructions"."s3file_id", "lego_files_s3file"."id", "lego_files_s3file"."file_size", "lego_files_s3file"."last_modified", "lego_files_s3file"."aws_mi_file", "lego_files_s3file"."linode_si_file", "lego_files_s3file"."linode_mi_file", "lego_files_s3file"."linode_media_file" FROM "lego_mocinstructions" LEFT OUTER JOIN "lego_files_s3file" ON ("lego_mocinstructions"."s3file_id" = "lego_files_s3file"."id") WHERE "lego_mocinstructions"."moc_id" = 83137SELECT ••• FROM "lego_mocinstructions" LEFT OUTER JOIN "lego_files_s3file" ON ("lego_mocinstructions"."s3file_id" = "lego_files_s3file"."id") WHERE "lego_mocinstructions"."moc_id" = 83137
0.52
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(548)
context['bi_files'] = MocInstructions.get_moc_files(moc)/home/nathan/rb/site/./lego/models/mocs.py in get_moc_files(2066)
files = sorted(files, key=lambda x: str(x.file))
SELECT COUNT(*) AS "__count" FROM "django_comments" WHERE ("django_comments"."content_type_id" = 31 ANDNOT "django_comments"."is_removed" AND "django_comments"."object_pk" = '83137')SELECT ••• FROM "django_comments" WHERE ("django_comments"."content_type_id" = 31 ANDNOT "django_comments"."is_removed" AND "django_comments"."object_pk" = '83137')
0.24
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(637)
context['num_comments'] = Comment.objects.filter(object_pk=moc.id, content_type=ContentType.objects.get_for_model(moc), is_removed=False).count()
SELECT "countries_plus_country"."iso", "countries_plus_country"."iso3", "countries_plus_country"."iso_numeric", "countries_plus_country"."fips", "countries_plus_country"."name", "countries_plus_country"."capital", "countries_plus_country"."area", "countries_plus_country"."population", "countries_plus_country"."continent", "countries_plus_country"."tld", "countries_plus_country"."currency_code", "countries_plus_country"."currency_symbol", "countries_plus_country"."currency_name", "countries_plus_country"."phone", "countries_plus_country"."postal_code_format", "countries_plus_country"."postal_code_regex", "countries_plus_country"."languages", "countries_plus_country"."geonameid", "countries_plus_country"."neighbours", "countries_plus_country"."equivalent_fips_code" FROM "countries_plus_country" WHERE "countries_plus_country"."iso" = 'US' LIMIT 21SELECT ••• FROM "countries_plus_country" WHERE "countries_plus_country"."iso" = 'US' LIMIT 21
0.14
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.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(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 COUNT(*) AS "__count" FROM "lego_inventory" WHERE ("lego_inventory"."is_active" AND "lego_inventory"."set_id" = 83137)SELECT ••• FROM "lego_inventory" WHERE ("lego_inventory"."is_active" AND "lego_inventory"."set_id" = 83137)
2 similar queries.
Duplicated 2 times.
0.25
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./lego/models/sets.py in get_num_inventories(981)
return Inventory.objects.filter(set=self).count()
16
<div class="mb-10">
17
<span>{{ moc.set_num }}</span>
18
•
19
<span><a href="#parts_scroll" title="See the parts in this MOC's inventory">{{ moc.num_parts }} parts{% if moc.get_num_inventories > 1 %} <span class="label label-primary">v{{ inventory.version }}</span>{% endif %}</a></span>
SELECT "lego_mocimage"."id", "lego_mocimage"."moc_id", "lego_mocimage"."is_primary", "lego_mocimage"."file_extension" FROM "lego_mocimage" WHERE "lego_mocimage"."moc_id" = 83137 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASCSELECT ••• FROM "lego_mocimage" WHERE "lego_mocimage"."moc_id" = 83137 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASC
3 similar queries.
Duplicated 3 times.
0.35
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)
25
<div class="alert alert-danger"><h4><i class="fa fa-warning"></i> This MOC is disabled.</h4></div>
26
{% endif %}
27
28
{% if moc.use_fake_image %}
29
30
{% thumbs moc.use_fake_image.img_dir settings.THUMBS_OPTIONS_MOC_TILE as thumb_img %}
31
{% thumbs_encoded moc.use_fake_image.img_dir settings.THUMBS_OPTIONS_MOC_MAIN_PREVIEW as preview_img %}
32
{% thumbs moc.use_fake_image.img_dir settings.THUMBS_OPTIONS_MOC_MAIN get_real_dims=1 as first_image %}
SELECT "lego_mocimage"."id", "lego_mocimage"."moc_id", "lego_mocimage"."is_primary", "lego_mocimage"."file_extension" FROM "lego_mocimage" WHERE "lego_mocimage"."moc_id" = 83137 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASCSELECT ••• FROM "lego_mocimage" WHERE "lego_mocimage"."moc_id" = 83137 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASC
3 similar queries.
Duplicated 3 times.
0.08
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)
SELECT "lego_mocimage"."id", "lego_mocimage"."moc_id", "lego_mocimage"."is_primary", "lego_mocimage"."file_extension" FROM "lego_mocimage" WHERE "lego_mocimage"."moc_id" = 83137 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASCSELECT ••• FROM "lego_mocimage" WHERE "lego_mocimage"."moc_id" = 83137 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASC
3 similar queries.
Duplicated 3 times.
0.15
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)
74
</ul>
75
</div>
76
{# pre-create controls div so we can size column height without CLS impact and prevents flicker #}
77
<div class="flexslider-controls-container {% if moc.moc_images.all|length > 6 %}flexslider-controls-container-2rows{% endif %}">
SELECT COUNT(*) AS "__count" FROM "lego_inventory" WHERE ("lego_inventory"."is_active" AND "lego_inventory"."set_id" = 83137)SELECT ••• FROM "lego_inventory" WHERE ("lego_inventory"."is_active" AND "lego_inventory"."set_id" = 83137)
2 similar queries.
Duplicated 2 times.
0.19
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./lego/models/sets.py in get_num_inventories(981)
return Inventory.objects.filter(set=self).count()
16
<div class=" mb-30">
17
<span>{{ set.set_num }}</span>
18
•
19
<span><a href="#parts_scroll" title="See the parts in this MOC's inventory">{{ set.num_parts }} parts{% if set.get_num_inventories > 1 %} <span class="label label-primary">v{{ inventory.version }}</span>{% endif %}</a></span>
20
•
21
<span><a href="{% url 'browse_mocs' %}?theme={{ set.theme_id }}" title="Find other MOCs in this theme">{{ set.theme.get_full_name }}</a></span>
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"."review_for_set_num"::text LIKE '%MOC-61909%') ORDER BY "blog_article"."published_date" ASCSELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."review_for_set_num"::text LIKE '%MOC-61909%') ORDER BY "blog_article"."published_date" ASC
0.27
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./lego/models/sets.py in get_set_review(1393)
for review in reviews:
22
</div>
23
</div>
24
25
{% with moc.get_set_review as review %}
26
{% if review %}
27
<div class="text-center">
28
<a href="{{ review.get_absolute_url }}"><i class="fa fa-star"></i> See our Review of this MOC</a>
SELECT "lego_mocinstructions"."id", "lego_mocinstructions"."moc_id", "lego_mocinstructions"."uploaded", "lego_mocinstructions"."file_size", "lego_mocinstructions"."to_be_uploaded", "lego_mocinstructions"."s3file_id" FROM "lego_mocinstructions" WHERE "lego_mocinstructions"."moc_id" = 83137SELECT ••• FROM "lego_mocinstructions" WHERE "lego_mocinstructions"."moc_id" = 83137
0.11
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./lego/models/mocs.py in get_bi_type_help_msg(606)
if len(bi_files) > 1:
119
{% elif not moc.is_for_sale and bi_files %}
120
<p>Download the free Building Instructions for this MOC:</p>
121
{% include "mocs/includes/render_moc_bi_files_sidebar.html" %}
122
{{ moc.get_bi_type_help_msg }}
123
{% comment %}
124
{% if bi_files|length == 1 and bi_files.0.is_studio %}
125
<p>This file requires <a href="https://studio.bricklink.com/v2/build/studio.page">BrickLink Studio</a> to open. See our <a href="/help/guide-to-stud-io/">Guide to using Studio</a>.</p>
126
{% elif bi_files|length == 1 and bi_files.0.is_ldd %}
SELECT "lego_files_s3file"."id", "lego_files_s3file"."file_size", "lego_files_s3file"."last_modified", "lego_files_s3file"."aws_mi_file", "lego_files_s3file"."linode_si_file", "lego_files_s3file"."linode_mi_file", "lego_files_s3file"."linode_media_file" FROM "lego_files_s3file" WHERE "lego_files_s3file"."id" = 90775 LIMIT 21SELECT ••• FROM "lego_files_s3file" WHERE "lego_files_s3file"."id" = 90775 LIMIT 21
0.08
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./lego/models/mocs.py in get_bi_type_help_msg(610)
if bif.is_studio:/home/nathan/rb/site/./lego/models/mocs.py in is_studio(2135)
return self.file.name.lower().endswith('.io')/home/nathan/rb/site/./lego/models/mocs.py in file(2034)
if self.s3file:
119
{% elif not moc.is_for_sale and bi_files %}
120
<p>Download the free Building Instructions for this MOC:</p>
121
{% include "mocs/includes/render_moc_bi_files_sidebar.html" %}
122
{{ moc.get_bi_type_help_msg }}
123
{% comment %}
124
{% if bi_files|length == 1 and bi_files.0.is_studio %}
125
<p>This file requires <a href="https://studio.bricklink.com/v2/build/studio.page">BrickLink Studio</a> to open. See our <a href="/help/guide-to-stud-io/">Guide to using Studio</a>.</p>
126
{% elif bi_files|length == 1 and bi_files.0.is_ldd %}
SELECT COUNT(*) AS "__count" FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 305558SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 305558
4 similar queries.
Duplicated 4 times.
13.81
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)
SELECT COUNT(*) AS "__count" FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 305558SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 305558
4 similar queries.
Duplicated 4 times.
2.39
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./lego/models/designers.py in get_num_followers_formatted(231)
i = DesignerFollower.objects.filter(designer_id=self.id).count()
SELECT COUNT(*) AS "__count" FROM "accounts_usersetphoto" INNER JOIN "auth_user" ON ("accounts_usersetphoto"."user_id" = "auth_user"."id") WHERE ("accounts_usersetphoto"."is_active" AND "accounts_usersetphoto"."set_id" = 83137 AND "auth_user"."is_active")SELECT ••• FROM "accounts_usersetphoto" INNER JOIN "auth_user" ON ("accounts_usersetphoto"."user_id" = "auth_user"."id") WHERE ("accounts_usersetphoto"."is_active" AND "accounts_usersetphoto"."set_id" = 83137 AND "auth_user"."is_active")
0.36
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)
SELECT "django_content_type"."id", "django_content_type"."app_label", "django_content_type"."model" FROM "django_content_type" WHERE ("django_content_type"."app_label" = 'lego' AND "django_content_type"."model" = 'moc') LIMIT 21SELECT ••• FROM "django_content_type" WHERE ("django_content_type"."app_label" = 'lego' AND "django_content_type"."model" = 'moc') LIMIT 21
0.13
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./rb_comments/templatetags/rb_comments_filters.py in get_page_locked_status(78)
content_type = ContentType.objects.get(app_label=page_content_type.split('.')[0], model=page_content_type.split('.')[1])
4
{% load rb_comments_filters %}
5
6
<div id="comments-{{ page.id }}">
7
{% get_page_locked_status content_type page.id as is_page_locked %}
8
9
{% comment %}
10
Not using render_comment_list as it uses styles in ul/li that I can't seem to get working well with Smarty.
11
Using fluent-comments to hide unused fields and do ajax add/reply comment.
SELECT 1 AS "a" FROM "rb_comments_pagelocked" WHERE ("rb_comments_pagelocked"."content_type_id" = 31 AND "rb_comments_pagelocked"."object_id" = 83137) LIMIT 1SELECT ••• FROM "rb_comments_pagelocked" WHERE ("rb_comments_pagelocked"."content_type_id" = 31 AND "rb_comments_pagelocked"."object_id" = 83137) LIMIT 1
0.08
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./rb_comments/templatetags/rb_comments_filters.py in get_page_locked_status(79)
is_locked = PageLocked.objects.filter(content_type=content_type, object_id=page_id).exists()
4
{% load rb_comments_filters %}
5
6
<div id="comments-{{ page.id }}">
7
{% get_page_locked_status content_type page.id as is_page_locked %}
8
9
{% comment %}
10
Not using render_comment_list as it uses styles in ul/li that I can't seem to get working well with Smarty.
11
Using fluent-comments to hide unused fields and do ajax add/reply comment.
SELECT ("auth_user_groups"."user_id") AS "_prefetch_related_val_user_id", "auth_group"."id", "auth_group"."name" FROM "auth_group" INNER JOIN "auth_user_groups" ON ("auth_group"."id" = "auth_user_groups"."group_id") WHERE "auth_user_groups"."user_id" IN (471550, 305558, 340174, 266693, 435822)SELECT ••• FROM "auth_group" INNER JOIN "auth_user_groups" ON ("auth_group"."id" = "auth_user_groups"."group_id") WHERE "auth_user_groups"."user_id" IN (471550, 305558, 340174, 266693, 435822)
2 similar queries.
Duplicated 2 times.
0.18
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(71)
qs = self.get_queryset(context)/home/nathan/rb/site/./rb_comments/templatetags/rb_comments_filters.py in get_queryset(45)
return qs[:50], len(qs)
14
{% endcomment %}
15
{% if not comment_list %}
16
{# Get comments for a page #}
17
{% get_rb_comment_list for page as comment_list %}
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" = 31 AND "django_comments"."object_pk" = '83137' 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" = 31 AND "django_comments"."object_pk" = '83137' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
0.21
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.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()
15
{% if not comment_list %}
16
{# Get comments for a page #}
17
{% get_rb_comment_list for page as comment_list %}
SELECT ("auth_user_groups"."user_id") AS "_prefetch_related_val_user_id", "auth_group"."id", "auth_group"."name" FROM "auth_group" INNER JOIN "auth_user_groups" ON ("auth_group"."id" = "auth_user_groups"."group_id") WHERE "auth_user_groups"."user_id" IN (471550, 305558, 340174, 266693, 435822)SELECT ••• FROM "auth_group" INNER JOIN "auth_user_groups" ON ("auth_group"."id" = "auth_user_groups"."group_id") WHERE "auth_user_groups"."user_id" IN (471550, 305558, 340174, 266693, 435822)
2 similar queries.
Duplicated 2 times.
0.12
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)
89
{% with cache_timeout=user.is_authenticated|yesno:"0,300" %}
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" = 471550 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 471550 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
6 similar queries.
0.09
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.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 "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", "lego_designer"."user_ptr_id", "lego_designer"."auto_approve", "lego_designer"."num_auto_approved", "lego_designer"."last_checked_for_moc_errors" FROM "lego_designer" INNER JOIN "auth_user" ON ("lego_designer"."user_ptr_id" = "auth_user"."id") WHERE "lego_designer"."user_ptr_id" = 471550 LIMIT 21SELECT ••• FROM "lego_designer" INNER JOIN "auth_user" ON ("lego_designer"."user_ptr_id" = "auth_user"."id") WHERE "lego_designer"."user_ptr_id" = 471550 LIMIT 21
4 similar queries.
0.14
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./accounts/models/user_extras.py in get_rolename(618)
elif hasattr(self, 'designer') and Moc.objects.filter(designer=self.designer).exists():
57
{% elif page.is_moc and page.designer_id == comment.user_id %}
58
<span class="label label-dark-blue" title="This user designed this MOC">Designed this MOC</span>
SELECT 1 AS "a" FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 83137 AND "accounts_mocpurchase"."user_id" = 471550) LIMIT 1SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 83137 AND "accounts_mocpurchase"."user_id" = 471550) LIMIT 1
6 similar queries.
0.31
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./rb_comments/templatetags/rb_comments_filters.py in get_verified_purchase(97)
if user.has_purchased_moc(moc.id):/home/nathan/rb/site/./accounts/models/user_extras.py in has_purchased_moc(1008)
return MocPurchase.objects.filter(user=self, moc_id=moc_id).exists()
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" = 305558 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 305558 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
6 similar queries.
Duplicated 2 times.
0.09
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.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 1 AS "a" FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 83137 AND "accounts_mocpurchase"."user_id" = 305558) LIMIT 1SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 83137 AND "accounts_mocpurchase"."user_id" = 305558) LIMIT 1
6 similar queries.
Duplicated 2 times.
0.21
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./rb_comments/templatetags/rb_comments_filters.py in get_verified_purchase(97)
if user.has_purchased_moc(moc.id):/home/nathan/rb/site/./accounts/models/user_extras.py in has_purchased_moc(1008)
return MocPurchase.objects.filter(user=self, moc_id=moc_id).exists()
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" = 340174 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 340174 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
6 similar queries.
0.12
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.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 "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", "lego_designer"."user_ptr_id", "lego_designer"."auto_approve", "lego_designer"."num_auto_approved", "lego_designer"."last_checked_for_moc_errors" FROM "lego_designer" INNER JOIN "auth_user" ON ("lego_designer"."user_ptr_id" = "auth_user"."id") WHERE "lego_designer"."user_ptr_id" = 340174 LIMIT 21SELECT ••• FROM "lego_designer" INNER JOIN "auth_user" ON ("lego_designer"."user_ptr_id" = "auth_user"."id") WHERE "lego_designer"."user_ptr_id" = 340174 LIMIT 21
4 similar queries.
0.13
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./accounts/models/user_extras.py in get_rolename(618)
elif hasattr(self, 'designer') and Moc.objects.filter(designer=self.designer).exists():
57
{% elif page.is_moc and page.designer_id == comment.user_id %}
58
<span class="label label-dark-blue" title="This user designed this MOC">Designed this MOC</span>
SELECT 1 AS "a" FROM "lego_moc" INNER JOIN "lego_baseset" ON ("lego_moc"."baseset_ptr_id" = "lego_baseset"."id") WHERE ("lego_baseset"."is_active" AND "lego_moc"."designer_id" = 340174) LIMIT 1SELECT ••• FROM "lego_moc" INNER JOIN "lego_baseset" ON ("lego_moc"."baseset_ptr_id" = "lego_baseset"."id") WHERE ("lego_baseset"."is_active" AND "lego_moc"."designer_id" = 340174) LIMIT 1
4 similar queries.
Duplicated 2 times.
0.20
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./accounts/models/user_extras.py in get_rolename(618)
elif hasattr(self, 'designer') and Moc.objects.filter(designer=self.designer).exists():
57
{% elif page.is_moc and page.designer_id == comment.user_id %}
58
<span class="label label-dark-blue" title="This user designed this MOC">Designed this MOC</span>
SELECT 1 AS "a" FROM "lego_moc" INNER JOIN "lego_baseset" ON ("lego_moc"."baseset_ptr_id" = "lego_baseset"."id") WHERE ("lego_baseset"."is_active" AND "lego_moc"."designer_id" = 340174) LIMIT 1SELECT ••• FROM "lego_moc" INNER JOIN "lego_baseset" ON ("lego_moc"."baseset_ptr_id" = "lego_baseset"."id") WHERE ("lego_baseset"."is_active" AND "lego_moc"."designer_id" = 340174) LIMIT 1
4 similar queries.
Duplicated 2 times.
0.14
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./accounts/models/user_extras.py in get_rolename(618)
elif hasattr(self, 'designer') and Moc.objects.filter(designer=self.designer).exists():
57
{% elif page.is_moc and page.designer_id == comment.user_id %}
58
<span class="label label-dark-blue" title="This user designed this MOC">Designed this MOC</span>
SELECT 1 AS "a" FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 83137 AND "accounts_mocpurchase"."user_id" = 340174) LIMIT 1SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 83137 AND "accounts_mocpurchase"."user_id" = 340174) LIMIT 1
6 similar queries.
0.18
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./rb_comments/templatetags/rb_comments_filters.py in get_verified_purchase(97)
if user.has_purchased_moc(moc.id):/home/nathan/rb/site/./accounts/models/user_extras.py in has_purchased_moc(1008)
return MocPurchase.objects.filter(user=self, moc_id=moc_id).exists()
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" = 266693 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 266693 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
6 similar queries.
0.09
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.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 "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", "lego_designer"."user_ptr_id", "lego_designer"."auto_approve", "lego_designer"."num_auto_approved", "lego_designer"."last_checked_for_moc_errors" FROM "lego_designer" INNER JOIN "auth_user" ON ("lego_designer"."user_ptr_id" = "auth_user"."id") WHERE "lego_designer"."user_ptr_id" = 266693 LIMIT 21SELECT ••• FROM "lego_designer" INNER JOIN "auth_user" ON ("lego_designer"."user_ptr_id" = "auth_user"."id") WHERE "lego_designer"."user_ptr_id" = 266693 LIMIT 21
4 similar queries.
0.11
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./accounts/models/user_extras.py in get_rolename(618)
elif hasattr(self, 'designer') and Moc.objects.filter(designer=self.designer).exists():
57
{% elif page.is_moc and page.designer_id == comment.user_id %}
58
<span class="label label-dark-blue" title="This user designed this MOC">Designed this MOC</span>
SELECT 1 AS "a" FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 83137 AND "accounts_mocpurchase"."user_id" = 266693) LIMIT 1SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 83137 AND "accounts_mocpurchase"."user_id" = 266693) LIMIT 1
6 similar queries.
0.19
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./rb_comments/templatetags/rb_comments_filters.py in get_verified_purchase(97)
if user.has_purchased_moc(moc.id):/home/nathan/rb/site/./accounts/models/user_extras.py in has_purchased_moc(1008)
return MocPurchase.objects.filter(user=self, moc_id=moc_id).exists()
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" = 435822 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 435822 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
6 similar queries.
0.09
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.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 "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", "lego_designer"."user_ptr_id", "lego_designer"."auto_approve", "lego_designer"."num_auto_approved", "lego_designer"."last_checked_for_moc_errors" FROM "lego_designer" INNER JOIN "auth_user" ON ("lego_designer"."user_ptr_id" = "auth_user"."id") WHERE "lego_designer"."user_ptr_id" = 435822 LIMIT 21SELECT ••• FROM "lego_designer" INNER JOIN "auth_user" ON ("lego_designer"."user_ptr_id" = "auth_user"."id") WHERE "lego_designer"."user_ptr_id" = 435822 LIMIT 21
4 similar queries.
0.11
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./accounts/models/user_extras.py in get_rolename(618)
elif hasattr(self, 'designer') and Moc.objects.filter(designer=self.designer).exists():
57
{% elif page.is_moc and page.designer_id == comment.user_id %}
58
<span class="label label-dark-blue" title="This user designed this MOC">Designed this MOC</span>
SELECT 1 AS "a" FROM "lego_moc" INNER JOIN "lego_baseset" ON ("lego_moc"."baseset_ptr_id" = "lego_baseset"."id") WHERE ("lego_baseset"."is_active" AND "lego_moc"."designer_id" = 435822) LIMIT 1SELECT ••• FROM "lego_moc" INNER JOIN "lego_baseset" ON ("lego_moc"."baseset_ptr_id" = "lego_baseset"."id") WHERE ("lego_baseset"."is_active" AND "lego_moc"."designer_id" = 435822) LIMIT 1
4 similar queries.
Duplicated 2 times.
0.15
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./accounts/models/user_extras.py in get_rolename(618)
elif hasattr(self, 'designer') and Moc.objects.filter(designer=self.designer).exists():
57
{% elif page.is_moc and page.designer_id == comment.user_id %}
58
<span class="label label-dark-blue" title="This user designed this MOC">Designed this MOC</span>
SELECT 1 AS "a" FROM "lego_moc" INNER JOIN "lego_baseset" ON ("lego_moc"."baseset_ptr_id" = "lego_baseset"."id") WHERE ("lego_baseset"."is_active" AND "lego_moc"."designer_id" = 435822) LIMIT 1SELECT ••• FROM "lego_moc" INNER JOIN "lego_baseset" ON ("lego_moc"."baseset_ptr_id" = "lego_baseset"."id") WHERE ("lego_baseset"."is_active" AND "lego_moc"."designer_id" = 435822) LIMIT 1
4 similar queries.
Duplicated 2 times.
0.13
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./accounts/models/user_extras.py in get_rolename(618)
elif hasattr(self, 'designer') and Moc.objects.filter(designer=self.designer).exists():
57
{% elif page.is_moc and page.designer_id == comment.user_id %}
58
<span class="label label-dark-blue" title="This user designed this MOC">Designed this MOC</span>
SELECT 1 AS "a" FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 83137 AND "accounts_mocpurchase"."user_id" = 435822) LIMIT 1SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 83137 AND "accounts_mocpurchase"."user_id" = 435822) LIMIT 1
6 similar queries.
0.25
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./rb_comments/templatetags/rb_comments_filters.py in get_verified_purchase(97)
if user.has_purchased_moc(moc.id):/home/nathan/rb/site/./accounts/models/user_extras.py in has_purchased_moc(1008)
return MocPurchase.objects.filter(user=self, moc_id=moc_id).exists()
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" = 305558 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 305558 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
6 similar queries.
Duplicated 2 times.
0.07
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.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 1 AS "a" FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 83137 AND "accounts_mocpurchase"."user_id" = 305558) LIMIT 1SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 83137 AND "accounts_mocpurchase"."user_id" = 305558) LIMIT 1
6 similar queries.
Duplicated 2 times.
0.10
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./rb_comments/templatetags/rb_comments_filters.py in get_verified_purchase(97)
if user.has_purchased_moc(moc.id):/home/nathan/rb/site/./accounts/models/user_extras.py in has_purchased_moc(1008)
return MocPurchase.objects.filter(user=self, moc_id=moc_id).exists()
SELECT COUNT(*) AS "__count" FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 305558SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 305558
4 similar queries.
Duplicated 4 times.
2.64
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)
SELECT COUNT(*) AS "__count" FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 305558SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 305558
4 similar queries.
Duplicated 4 times.
1.64
Connection: default
Transaction status: Idle
/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/mocs.py in moc_details(690)
return render(request, 'mocs/moc_details.html', context)/home/nathan/rb/site/./lego/models/designers.py in get_num_followers_formatted(231)
i = DesignerFollower.objects.filter(designer_id=self.id).count()