I love the 60204 set, it has a nice look and also good (but small) interiors. However, it's weird shape ground floor always bugged me. I also wanted to move the helipad to the rooftop and add a 4 stud wide sidewalk. Then I realized that a corner layout like in the original won't be appropiated (as the already narrow interiors would be even narrower), so I decided to do a straight one instead.
My version is a bit smaller (the equivalent to a 8x4 plate surface). In the early design stage I figured that making a 3 storey building was going to be harsh (maybe I will try it later), so I decided to expand the floors surface instead of including another one. The second floor and roof can be picked up just like in the original. The interior is mostly the same, but relocated.
There is only one thing in this MOC that I don't like. Given the lack of white bricks and panels I was forced to put two 1x6x5 trans-blue panels in the side walls. But this is barely noticeable from the outside, espeally with other buildings on both sides.
It uses all 60204 parts except for the ambulance and helicopter ones. A few of them are not really necessary for the build as they are just buried inside the helipad.
The build can be integrated into a street in addition to sets 31097, 31105, 31131 and 31141 as well as other MOCs of mine. As the set does not have any technic bricks, they need to be added to actually attach Creator 3 in 1 modulars to it (instead of the two grille bricks of the base). Includes: Detailed hand made 14310 KB pdf instructions file, with 86 pages and 144 steps.
Feedback is greatly appreciated.
Notice that:
Some printed parts have been substituted by unprinted ones in the instructions, but these steps are crearly indicated.
All stickers are used in the same parts as in the original set.
Model and instructions are property of Snail Designs and are exclusively published on Rebrickable for strictly personal use. It is not allowed to publish, distribute, sell, or oherwise make profit of the file itself or any product based on it.
Updates: 8/12/2025: Changed the instructions cover and fixed two very minor mistakes in pages 2 and 83.
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
14.20 ms (46 queries
including 22 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-236986' 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-236986' LIMIT 21
2.69
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 (295459))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 (295459))
0.30
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" = 295459 AND "lego_inventory"."version" = 1) LIMIT 21SELECT ••• FROM "lego_inventory" WHERE ("lego_inventory"."set_id" = 295459 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-236986' ORDER BY "lego_changelog"."timestamp" DESCSELECT ••• FROM "lego_changelog" WHERE "lego_changelog"."set_num" = 'MOC-236986' ORDER BY "lego_changelog"."timestamp" DESC
2.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(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-22T12:10:23.036943+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T12:10:23.036941+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '295459') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESC LIMIT 1SELECT ••• FROM "lego_designerdiscount" WHERE ("lego_designerdiscount"."end_date" > '2026-01-22T12:10:23.036943+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T12:10:23.036941+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '295459') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESCLIMIT 1
4 similar queries.
0.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(553)
context['applied_discount'] = DesignerDiscount.get_moc_discount(moc.id)/home/nathan/rb/site/./lego/models/designers.py in get_moc_discount(440)
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" = '295459')SELECT ••• FROM "django_comments" WHERE ("django_comments"."content_type_id" = 31 ANDNOT "django_comments"."is_removed" AND "django_comments"."object_pk" = '295459')
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(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-22T12:10:23.046687+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T12:10:23.046686+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '295459') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESC LIMIT 1SELECT ••• FROM "lego_designerdiscount" WHERE ("lego_designerdiscount"."end_date" > '2026-01-22T12:10:23.046687+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T12:10:23.046686+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '295459') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESCLIMIT 1
4 similar queries.
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/mocs.py in get_discounted_cost(380)
discount = DesignerDiscount.get_moc_discount(self.id)/home/nathan/rb/site/./lego/models/designers.py in get_moc_discount(440)
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" = 295459)SELECT ••• FROM "lego_inventory" WHERE ("lego_inventory"."is_active" AND "lego_inventory"."set_id" = 295459)
2 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/./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" = 295459 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASCSELECT ••• FROM "lego_mocimage" WHERE "lego_mocimage"."moc_id" = 295459 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASC
3 similar queries.
Duplicated 3 times.
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)
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" = 295459 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASCSELECT ••• FROM "lego_mocimage" WHERE "lego_mocimage"."moc_id" = 295459 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASC
3 similar queries.
Duplicated 3 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)
SELECT "lego_mocimage"."id", "lego_mocimage"."moc_id", "lego_mocimage"."is_primary", "lego_mocimage"."file_extension" FROM "lego_mocimage" WHERE "lego_mocimage"."moc_id" = 295459 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASCSELECT ••• FROM "lego_mocimage" WHERE "lego_mocimage"."moc_id" = 295459 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASC
3 similar queries.
Duplicated 3 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)
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" = 295459)SELECT ••• FROM "lego_inventory" WHERE ("lego_inventory"."is_active" AND "lego_inventory"."set_id" = 295459)
2 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/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-236986%') 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-236986%') 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" = 1684677 LIMIT 21SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 1684677 LIMIT 21
3 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/mocs.py in get_bi_preview_imgs(1463)
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" = 1684677)SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'moc' AND "accounts_usersetting"."user_id" = 1684677)
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/mocs.py in get_bi_preview_imgs(1466)
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" = 295459SELECT ••• FROM "lego_mocinstructions" WHERE "lego_mocinstructions"."moc_id" = 295459
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/./lego/models/mocs.py in has_instructions(514)
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" = 295459SELECT ••• FROM "lego_mocinstructions" WHERE "lego_mocinstructions"."moc_id" = 295459
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(260)
if self.has_pdf_instructions():/home/nathan/rb/site/./lego/models/mocs.py in has_pdf_instructions(535)
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" = 733872 LIMIT 21SELECT ••• FROM "lego_files_s3file" WHERE "lego_files_s3file"."id" = 733872 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 get_bi_type_generic(260)
if self.has_pdf_instructions():/home/nathan/rb/site/./lego/models/mocs.py in has_pdf_instructions(536)
if bif.is_pdf:/home/nathan/rb/site/./lego/models/mocs.py in is_pdf(2139)
return self.file.name.lower().endswith('.pdf')/home/nathan/rb/site/./lego/models/mocs.py in file(2034)
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" = 295459SELECT ••• FROM "lego_mocinstructions" WHERE "lego_mocinstructions"."moc_id" = 295459
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(531)
return not self.has_pdf_or_zip_instructions()/home/nathan/rb/site/./lego/models/mocs.py in has_pdf_or_zip_instructions(542)
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" = 733872 LIMIT 21SELECT ••• FROM "lego_files_s3file" WHERE "lego_files_s3file"."id" = 733872 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(531)
return not self.has_pdf_or_zip_instructions()/home/nathan/rb/site/./lego/models/mocs.py in has_pdf_or_zip_instructions(543)
if bif.is_pdf or bif.is_zip:/home/nathan/rb/site/./lego/models/mocs.py in is_pdf(2139)
return self.file.name.lower().endswith('.pdf')/home/nathan/rb/site/./lego/models/mocs.py in file(2034)
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-22T12:10:23.110050+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T12:10:23.110048+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '295459') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESC LIMIT 1SELECT ••• FROM "lego_designerdiscount" WHERE ("lego_designerdiscount"."end_date" > '2026-01-22T12:10:23.110050+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T12:10:23.110048+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '295459') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESCLIMIT 1
4 similar queries.
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)/home/nathan/rb/site/./lego/models/mocs.py in get_discounted_cost(380)
discount = DesignerDiscount.get_moc_discount(self.id)/home/nathan/rb/site/./lego/models/designers.py in get_moc_discount(440)
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-22T12:10:23.110996+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T12:10:23.110995+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '295459') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESC LIMIT 1SELECT ••• FROM "lego_designerdiscount" WHERE ("lego_designerdiscount"."end_date" > '2026-01-22T12:10:23.110996+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T12:10:23.110995+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '295459') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESCLIMIT 1
4 similar queries.
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)/home/nathan/rb/site/./lego/models/mocs.py in get_discounted_cost(380)
discount = DesignerDiscount.get_moc_discount(self.id)/home/nathan/rb/site/./lego/models/designers.py in get_moc_discount(440)
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" = 1684677 LIMIT 21SELECT ••• FROM "lego_designerpaypalaccount" WHERE "lego_designerpaypalaccount"."user_id" = 1684677 LIMIT 21
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)
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 1 AS "a" FROM "lego_mocswitherrors" WHERE "lego_mocswitherrors"."moc_id" = 295459 LIMIT 1SELECT ••• FROM "lego_mocswitherrors" WHERE "lego_mocswitherrors"."moc_id" = 295459 LIMIT 1
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 is_alternate(204)
if not self.is_pending and MocsWithErrors.objects.filter(moc=self).exists():
153
154
</div>
155
<div class="p-10"> {# aligned to bottom via flex-grow in above div #}
156
{% if moc.is_alternate and moc.parent_set_1 and not moc.parent_set_2 %}
SELECT COUNT(*) AS "__count" FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 1684677SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 1684677
4 similar queries.
Duplicated 4 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)
SELECT COUNT(*) AS "__count" FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 1684677SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 1684677
4 similar queries.
Duplicated 4 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/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" = 295459 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" = 295459 AND "auth_user"."is_active")
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)
SELECT 1 AS "a" FROM "lego_part" WHERE "lego_part"."part_num" = '444444' LIMIT 1SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '444444' LIMIT 1
2 similar queries.
Duplicated 2 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/./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" = '444444' LIMIT 1SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '444444' LIMIT 1
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/./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 "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"."id" = 24664 LIMIT 21SELECT ••• FROM "lego_inventory" WHERE "lego_inventory"."id" = 24664 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/./lego/templatetags/sets/drawing.py in render_set(24)
inventory = set.get_default_inventory()/home/nathan/rb/site/./lego/models/sets.py in get_default_inventory(971)
if self.default_inventory is not None:
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.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/./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" = 295459) LIMIT 1SELECT ••• FROM "rb_comments_pagelocked" WHERE ("rb_comments_pagelocked"."content_type_id" = 31 AND "rb_comments_pagelocked"."object_id" = 295459) LIMIT 1
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(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 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" = '295459' 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" = '295459' 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 COUNT(*) AS "__count" FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 1684677SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 1684677
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" = 1684677SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 1684677
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()