A minifigure-scale model of the iconic starfighter from Star Wars: A New Hope flown by Lord Darth Vader himself at the Battle of Yavin. It’s true to the source material and highly detailed, yet smaller than the Ultimate Collectors Series models, making it way more affordable without sacrificing the quality.
The model comes with a standthat can be adjusted both vertically and horizontally to pose the starship on. Horizontally, it can be set in three distinct positions: (roughly) 30 degrees to the left, level, and (roughly) 30 degrees to the right. Vertically, it can be set in countless positions, from (roughly) 45 degrees up to over 45 degrees down, and locked securely in that position.
Please, keep in mind that the model is designed strictly as a display piece. It is not suitable for play: you could swoosh it a little, but it you swoosh it making sudden turns, the angled parts of the wings will disalign. Also, be aware that it is an advanced built: it uses some unorthodox (but not illegal) connections, and certain sections require a lot of patience and finger dexterity to align correctly.
Important notes: 1. The question of stability or clutch power. I wanted to build this model with physical LEGO pieces to check for any stability or clutch power issues, but ended up having to replace certain pieces for similar ones, because I lacked them in my inventory. Also, I effectively built only one wing of the ship, because I didn’t have enough pieces to finish the other one (the wings are mirror reflections of one another, and I did build a similar-sized stand in for the other one). All in all, I tried to build the exact replica of the designed model, but in certain places had to replace the pieces for similar ones. During the process of creating this MOC, I encountered functional problems and solved each of them. As far as I can tell, there are no more functional problems with this MOC and it should be stable and work well. 2. Will Darth Vader fit? I don’t have a Darth Vader minifigure, so in its place I used a firefighter with the new style of helmet (piece 69971), because that helmet is quite broad and appears to be similar in size. The minifigure with that firefighter helmet does fit, and so, hopefully, Lord Vader will as well. 3. Print on the top hatch. Please, keep in mind, that the actual model uses one piece different than on the pictures: the 4x4 dish on top should have a print #0038. However, my version of stud.io, in which I designed this MOC, didn’t have that print of the piece, so I used very similar print #9977.
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
22.06 ms (47 queries
including 25 similar
and 17 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-163031' 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-163031' LIMIT 21
10.66
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 (192450))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 (192450))
0.44
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" = 192450 AND "lego_inventory"."version" = 1) LIMIT 21SELECT ••• FROM "lego_inventory" WHERE ("lego_inventory"."set_id" = 192450 AND "lego_inventory"."version" = 1) LIMIT 21
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(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-163031' ORDER BY "lego_changelog"."timestamp" DESCSELECT ••• FROM "lego_changelog" WHERE "lego_changelog"."set_num" = 'MOC-163031' ORDER BY "lego_changelog"."timestamp" DESC
0.98
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_designerdiscount"."id", "lego_designerdiscount"."designer_id", "lego_designerdiscount"."name", "lego_designerdiscount"."start_date", "lego_designerdiscount"."end_date", "lego_designerdiscount"."discount_pct", "lego_designerdiscount"."mocs" FROM "lego_designerdiscount" WHERE ("lego_designerdiscount"."end_date" > '2026-01-31T18:48:14.595554+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-31T18:48:14.595552+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '192450') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESC LIMIT 1SELECT ••• FROM "lego_designerdiscount" WHERE ("lego_designerdiscount"."end_date" > '2026-01-31T18:48:14.595554+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-31T18:48:14.595552+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '192450') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESCLIMIT 1
4 similar queries.
0.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(553)
context['applied_discount'] = DesignerDiscount.get_moc_discount(moc.id)/home/nathan/rb/site/./lego/models/designers.py in get_moc_discount(437)
return cls.get_active_discounts().filter(mocs__contains=int(moc_id)).first()
SELECT COUNT(*) AS "__count" FROM "django_comments" WHERE ("django_comments"."content_type_id" = 31 ANDNOT "django_comments"."is_removed" AND "django_comments"."object_pk" = '192450')SELECT ••• FROM "django_comments" WHERE ("django_comments"."content_type_id" = 31 ANDNOT "django_comments"."is_removed" AND "django_comments"."object_pk" = '192450')
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(637)
context['num_comments'] = Comment.objects.filter(object_pk=moc.id, content_type=ContentType.objects.get_for_model(moc), is_removed=False).count()
SELECT "lego_designerdiscount"."id", "lego_designerdiscount"."designer_id", "lego_designerdiscount"."name", "lego_designerdiscount"."start_date", "lego_designerdiscount"."end_date", "lego_designerdiscount"."discount_pct", "lego_designerdiscount"."mocs" FROM "lego_designerdiscount" WHERE ("lego_designerdiscount"."end_date" > '2026-01-31T18:48:14.604997+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-31T18:48:14.604995+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '192450') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESC LIMIT 1SELECT ••• FROM "lego_designerdiscount" WHERE ("lego_designerdiscount"."end_date" > '2026-01-31T18:48:14.604997+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-31T18:48:14.604995+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '192450') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESCLIMIT 1
4 similar queries.
0.37
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_discounted_cost(381)
discount = DesignerDiscount.get_moc_discount(self.id)/home/nathan/rb/site/./lego/models/designers.py in get_moc_discount(437)
return cls.get_active_discounts().filter(mocs__contains=int(moc_id)).first()
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.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/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" = 192450)SELECT ••• FROM "lego_inventory" WHERE ("lego_inventory"."is_active" AND "lego_inventory"."set_id" = 192450)
2 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/./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" = 192450 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASCSELECT ••• FROM "lego_mocimage" WHERE "lego_mocimage"."moc_id" = 192450 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASC
3 similar queries.
Duplicated 3 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)
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" = 192450 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASCSELECT ••• FROM "lego_mocimage" WHERE "lego_mocimage"."moc_id" = 192450 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASC
3 similar queries.
Duplicated 3 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)
SELECT "lego_mocimage"."id", "lego_mocimage"."moc_id", "lego_mocimage"."is_primary", "lego_mocimage"."file_extension" FROM "lego_mocimage" WHERE "lego_mocimage"."moc_id" = 192450 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASCSELECT ••• FROM "lego_mocimage" WHERE "lego_mocimage"."moc_id" = 192450 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" = 192450)SELECT ••• FROM "lego_inventory" WHERE ("lego_inventory"."is_active" AND "lego_inventory"."set_id" = 192450)
2 similar queries.
Duplicated 2 times.
0.29
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-163031%') 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-163031%') ORDER BY "blog_article"."published_date" ASC
0.29
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 "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" = 636360 LIMIT 21SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 636360 LIMIT 21
3 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/./lego/models/mocs.py in get_bi_preview_imgs(1476)
user = User.objects.get(id=self.designer_id)
31
{% endwith %}
32
33
<div class="row row-condensed">
34
{% with moc.get_bi_preview_imgs as preview_imgs %}
SELECT "accounts_usersetting"."id", "accounts_usersetting"."user_id", "accounts_usersetting"."name", "accounts_usersetting"."value" FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'moc' AND "accounts_usersetting"."user_id" = 636360)SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'moc' AND "accounts_usersetting"."user_id" = 636360)
0.26
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_preview_imgs(1479)
if user.to_proxy().get_moc_option('preview_pdf_images'):/home/nathan/rb/site/./accounts/models/user_extras.py in get_moc_option(221)
options = self.get_moc_options()/home/nathan/rb/site/./accounts/models/user_extras.py in get_moc_options(213)
if len(self.moc_options) == 0:
31
{% endwith %}
32
33
<div class="row row-condensed">
34
{% with moc.get_bi_preview_imgs as preview_imgs %}
SELECT COUNT(*) AS "__count" FROM "lego_mocinstructions" WHERE "lego_mocinstructions"."moc_id" = 192450SELECT ••• FROM "lego_mocinstructions" WHERE "lego_mocinstructions"."moc_id" = 192450
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/./lego/models/mocs.py in has_instructions(515)
return MocInstructions.objects.filter(moc_id=self.id).count() > 0
44
</div>
45
46
{% if moc.is_for_sale and moc.is_hosted %}
47
{% if user_moc_purchase %}
48
{% url 'user_purchases' request.user.get_username as url %}
49
<p>You have purchased this MOC! Download the files below or via your <a href="{{ url }}">MOC Purchases</a> page.</p>
50
{% include "mocs/includes/render_moc_bi_files_sidebar.html" with purchase=user_moc_purchase bi_files=user_moc_purchase.bi_files %}
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" = 192450SELECT ••• FROM "lego_mocinstructions" WHERE "lego_mocinstructions"."moc_id" = 192450
2 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/./lego/models/mocs.py in get_bi_type_generic(261)
if self.has_pdf_instructions():/home/nathan/rb/site/./lego/models/mocs.py in has_pdf_instructions(536)
for bif in bi_files:
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" = 317125 LIMIT 21SELECT ••• FROM "lego_files_s3file" WHERE "lego_files_s3file"."id" = 317125 LIMIT 21
2 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/./lego/models/mocs.py in get_bi_type_generic(261)
if self.has_pdf_instructions():/home/nathan/rb/site/./lego/models/mocs.py in has_pdf_instructions(537)
if bif.is_pdf:/home/nathan/rb/site/./lego/models/mocs.py in is_pdf(2155)
return self.file.name.lower().endswith('.pdf')/home/nathan/rb/site/./lego/models/mocs.py in file(2050)
if self.s3file:
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" = 192450SELECT ••• FROM "lego_mocinstructions" WHERE "lego_mocinstructions"."moc_id" = 192450
2 similar queries.
Duplicated 2 times.
0.06
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 show_no_pdf_instructions_warning(532)
return not self.has_pdf_or_zip_instructions()/home/nathan/rb/site/./lego/models/mocs.py in has_pdf_or_zip_instructions(543)
for bif in bi_files:
15
</b>
16
</div>
17
</div>
18
{% if moc.show_no_pdf_instructions_warning %}
19
{% show_warning '' 'This Premium MOC does NOT include PDF-formatted instructions.' %}
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" = 317125 LIMIT 21SELECT ••• FROM "lego_files_s3file" WHERE "lego_files_s3file"."id" = 317125 LIMIT 21
2 similar queries.
Duplicated 2 times.
0.06
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 show_no_pdf_instructions_warning(532)
return not self.has_pdf_or_zip_instructions()/home/nathan/rb/site/./lego/models/mocs.py in has_pdf_or_zip_instructions(544)
if bif.is_pdf or bif.is_zip:/home/nathan/rb/site/./lego/models/mocs.py in is_pdf(2155)
return self.file.name.lower().endswith('.pdf')/home/nathan/rb/site/./lego/models/mocs.py in file(2050)
if self.s3file:
15
</b>
16
</div>
17
</div>
18
{% if moc.show_no_pdf_instructions_warning %}
19
{% show_warning '' 'This Premium MOC does NOT include PDF-formatted instructions.' %}
SELECT "lego_designerdiscount"."id", "lego_designerdiscount"."designer_id", "lego_designerdiscount"."name", "lego_designerdiscount"."start_date", "lego_designerdiscount"."end_date", "lego_designerdiscount"."discount_pct", "lego_designerdiscount"."mocs" FROM "lego_designerdiscount" WHERE ("lego_designerdiscount"."end_date" > '2026-01-31T18:48:14.715222+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-31T18:48:14.715220+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '192450') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESC LIMIT 1SELECT ••• FROM "lego_designerdiscount" WHERE ("lego_designerdiscount"."end_date" > '2026-01-31T18:48:14.715222+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-31T18:48:14.715220+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '192450') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESCLIMIT 1
4 similar queries.
0.34
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_discounted_cost(381)
discount = DesignerDiscount.get_moc_discount(self.id)/home/nathan/rb/site/./lego/models/designers.py in get_moc_discount(437)
return cls.get_active_discounts().filter(mocs__contains=int(moc_id)).first()
SELECT "lego_designerdiscount"."id", "lego_designerdiscount"."designer_id", "lego_designerdiscount"."name", "lego_designerdiscount"."start_date", "lego_designerdiscount"."end_date", "lego_designerdiscount"."discount_pct", "lego_designerdiscount"."mocs" FROM "lego_designerdiscount" WHERE ("lego_designerdiscount"."end_date" > '2026-01-31T18:48:14.716235+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-31T18:48:14.716234+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '192450') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESC LIMIT 1SELECT ••• FROM "lego_designerdiscount" WHERE ("lego_designerdiscount"."end_date" > '2026-01-31T18:48:14.716235+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-31T18:48:14.716234+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '192450') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESCLIMIT 1
4 similar queries.
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/./lego/models/mocs.py in get_discounted_cost(381)
discount = DesignerDiscount.get_moc_discount(self.id)/home/nathan/rb/site/./lego/models/designers.py in get_moc_discount(437)
return cls.get_active_discounts().filter(mocs__contains=int(moc_id)).first()
SELECT "lego_designerpaypalaccount"."id", "lego_designerpaypalaccount"."user_id", "lego_designerpaypalaccount"."paypal_email", "lego_designerpaypalaccount"."paypal_merchant_id" FROM "lego_designerpaypalaccount" WHERE "lego_designerpaypalaccount"."user_id" = 636360 LIMIT 21SELECT ••• FROM "lego_designerpaypalaccount" WHERE "lego_designerpaypalaccount"."user_id" = 636360 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)
73
<div class="col-xs-9"><a href="{% url 'designer_moc_sales' moc.designer.username %}?moc={{ moc.id }}"><b>{{ num_purchases }}</b></a> {% include 'rb/render_popover.html' with help_topic='MOC Sales' help_content='Only Rebrickable admins and the MOC designer can see the number of sales for a MOC.' %}</div>
74
</div>
75
{% endif %}
76
{% if not moc.designer.paypal_account.paypal_merchant_id and not moc.designer.paypal_account.paypal_email and not moc.designer.stripe_account.stripe_user_id %}
77
{% show_warning 'No Payment Methods' 'Sorry, it looks like the designer does not have any active payment methods setup yet.' %}
78
{% else %}
79
{# if just bought, page is reloaded with payment_intent=pi_3M3XnZJrPSxBprU31v9t65Or&payment_intent_client_secret=pi_3M3XnZJrPSxBprU31v9t65Or_secret_Ma8Z1z6OmxIskPFbWBJKhILUo&redirect_status=succeeded #}
SELECT COUNT(*) AS "__count" FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 636360SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 636360
4 similar queries.
Duplicated 4 times.
0.40
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" = 636360SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 636360
4 similar queries.
Duplicated 4 times.
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/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" = 192450 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" = 192450 AND "auth_user"."is_active")
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)
SELECT 1 AS "a" FROM "lego_part" WHERE "lego_part"."part_num" = '69971' LIMIT 1SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '69971' LIMIT 1
3 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/./rb/templatetags/rb_helpers.py in parse_cards(561)
return parse_cards(txt)/home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d) # part eg 75c09/usr/lib/python3.10/re.py in sub(209)
return _compile(pattern, flags).sub(repl, string, count)/home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
if Part.all_objects.filter(part_num=x).exists():
16
{% if request.user.get_personalisation_options.dark_mode %}
SELECT 1 AS "a" FROM "lego_part" WHERE "lego_part"."part_num" = '0038' LIMIT 1SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '0038' LIMIT 1
3 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/./rb/templatetags/rb_helpers.py in parse_cards(561)
return parse_cards(txt)/home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d) # part eg 75c09/usr/lib/python3.10/re.py in sub(209)
return _compile(pattern, flags).sub(repl, string, count)/home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
if Part.all_objects.filter(part_num=x).exists():
16
{% if request.user.get_personalisation_options.dark_mode %}
SELECT 1 AS "a" FROM "lego_part" WHERE "lego_part"."part_num" = '9977' LIMIT 1SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '9977' LIMIT 1
3 similar queries.
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/./rb/templatetags/rb_helpers.py in parse_cards(561)
return parse_cards(txt)/home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d) # part eg 75c09/usr/lib/python3.10/re.py in sub(209)
return _compile(pattern, flags).sub(repl, string, count)/home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
if Part.all_objects.filter(part_num=x).exists():
16
{% if request.user.get_personalisation_options.dark_mode %}
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.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/./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" = 192450) LIMIT 1SELECT ••• FROM "rb_comments_pagelocked" WHERE ("rb_comments_pagelocked"."content_type_id" = 31 AND "rb_comments_pagelocked"."object_id" = 192450) LIMIT 1
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/./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 (935260)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 (935260)
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)/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" = '192450' 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" = '192450' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
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/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 (935260)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 (935260)
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" = 935260 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 935260 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
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/./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" = 935260 LIMIT 21SELECT ••• FROM "lego_designer" INNER JOIN "auth_user" ON ("lego_designer"."user_ptr_id" = "auth_user"."id") WHERE "lego_designer"."user_ptr_id" = 935260 LIMIT 21
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" = 192450 AND "accounts_mocpurchase"."user_id" = 935260) LIMIT 1SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 192450 AND "accounts_mocpurchase"."user_id" = 935260) LIMIT 1
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 COUNT(*) AS "__count" FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 636360SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 636360
4 similar queries.
Duplicated 4 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)
SELECT COUNT(*) AS "__count" FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 636360SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 636360
4 similar queries.
Duplicated 4 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/./lego/models/designers.py in get_num_followers_formatted(231)
i = DesignerFollower.objects.filter(designer_id=self.id).count()