Bricklink and Brickowl list both these parts under the same item number. When importing orders from these sites, you may need to adjust your Rebrickable inventory for accuracy. This version has the same inclination angle as Slope 45° 2 x 1 (3040b) but is less than 1 brick tall. Read more in this article.
Available Colors
Toggle Available Colors
This part appears in 32 Colors. Click on a colored part below to see the Sets and MOCs that use part 15672 Slope 45° 2 x 1 with 2/3 Cutout [New Version] in that color.
You can find an overview of all LEGO Colors here.
If a color is missing, it probably needs to be added to a Set Inventory.
default
195.69 ms (66 queries
including 43 similar
and 12 duplicates
)
Query
Timeline
Time (ms)
Action
SELECT "lego_part"."id", "lego_part"."part_num", "lego_part"."name", "lego_part"."part_cat_id", "lego_part"."notes", "lego_part"."is_active", "lego_part"."search_vector", "lego_part"."ldraw_part_id", "lego_part"."bricklink_part_id", "lego_part"."ignore_color_errors", "lego_part"."part_material_id", "lego_part"."is_bricklink_minifig", "lego_part"."is_bricklink_book", "lego_part"."is_bricklink_gear", "lego_part"."show_generic_part_msg", "lego_partcategory"."id", "lego_partcategory"."name", "lego_partcategory"."part_count", "lego_partcategory"."img", "lego_partcategory"."slug", "lego_partmaterial"."id", "lego_partmaterial"."name", "lego_partoverlay"."part_id", "lego_partoverlay"."length", "lego_partstats"."part_id", "lego_partstats"."num_sets", "lego_partstats"."num_mocs", "lego_partstats"."num_set_parts", "lego_partstats"."num_moc_parts", "lego_partstats"."y1", "lego_partstats"."y2", "lego_partstats"."is_dirty" FROM "lego_part" INNER JOIN "lego_partcategory" ON ("lego_part"."part_cat_id" = "lego_partcategory"."id") INNER JOIN "lego_partmaterial" ON ("lego_part"."part_material_id" = "lego_partmaterial"."id") LEFT OUTER JOIN "lego_partoverlay" ON ("lego_part"."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON ("lego_part"."id" = "lego_partstats"."part_id") WHERE "lego_part"."part_num" = '15672' LIMIT 21SELECT ••• FROM "lego_part" INNER JOIN "lego_partcategory" ON ("lego_part"."part_cat_id" = "lego_partcategory"."id") INNER JOIN "lego_partmaterial" ON ("lego_part"."part_material_id" = "lego_partmaterial"."id") LEFT OUTER JOIN "lego_partoverlay" ON ("lego_part"."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON ("lego_part"."id" = "lego_partstats"."part_id") WHERE "lego_part"."part_num" = '15672' LIMIT 21
2 similar queries.
Duplicated 2 times.
9.04
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(122)
part = get_or_none(Part.all_objects, part_num=slug1)/home/nathan/rb/site/./rb/utils.py in get_or_none(605)
return manager.get(**kwargs)
SELECT "lego_element"."id", "lego_element"."part_id", "lego_element"."color_id", "lego_element"."element_id", "lego_element"."design_id", "lego_element"."descr", "lego_element"."color_descr", "lego_element"."last_download_attempt", "lego_element"."num_download_attempts", "lego_element"."is_export_id", "lego_element"."is_active" FROM "lego_element" INNER JOIN "lego_color" ON ("lego_element"."color_id" = "lego_color"."id") WHERE ("lego_element"."is_active" AND "lego_element"."part_id" IN (1624)) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASCSELECT ••• FROM "lego_element" INNER JOIN "lego_color" ON ("lego_element"."color_id" = "lego_color"."id") WHERE ("lego_element"."is_active" AND "lego_element"."part_id" IN (1624)) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
2 similar queries.
Duplicated 2 times.
0.40
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(122)
part = get_or_none(Part.all_objects, part_num=slug1)/home/nathan/rb/site/./rb/utils.py in get_or_none(605)
return manager.get(**kwargs)
SELECT "lego_partcolorstats"."id", "lego_partcolorstats"."part_id", "lego_partcolorstats"."color_id", "lego_partcolorstats"."num_sets", "lego_partcolorstats"."num_mocs", "lego_partcolorstats"."num_set_parts", "lego_partcolorstats"."num_moc_parts", "lego_partcolorstats"."y1", "lego_partcolorstats"."y2", "lego_partcolorstats"."is_dirty", "lego_partcolorstats"."ignore_color_errors" FROM "lego_partcolorstats" WHERE "lego_partcolorstats"."part_id" IN (1624)SELECT ••• FROM "lego_partcolorstats" WHERE "lego_partcolorstats"."part_id" IN (1624)
2 similar queries.
Duplicated 2 times.
0.32
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(122)
part = get_or_none(Part.all_objects, part_num=slug1)/home/nathan/rb/site/./rb/utils.py in get_or_none(605)
return manager.get(**kwargs)
SELECT "lego_partcost"."id", "lego_partcost"."part_id", "lego_partcost"."color_id", "lego_partcost"."is_used", "lego_partcost"."cost_avg", "lego_partcost"."cost_min", "lego_partcost"."cost_max", "lego_partcost"."cost_count" FROM "lego_partcost" WHERE "lego_partcost"."part_id" IN (1624)SELECT ••• FROM "lego_partcost" WHERE "lego_partcost"."part_id" IN (1624)
2 similar queries.
Duplicated 2 times.
0.28
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(122)
part = get_or_none(Part.all_objects, part_num=slug1)/home/nathan/rb/site/./rb/utils.py in get_or_none(605)
return manager.get(**kwargs)
SELECT "lego_partphoto"."id", "lego_partphoto"."part_id", "lego_partphoto"."color_id", "lego_partphoto"."submitted_by_id", "lego_partphoto"."image", "lego_partphoto"."timestamp", "lego_partphoto"."is_active", "lego_partphoto"."is_primary" FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" IN (1624))SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" IN (1624))
2 similar queries.
Duplicated 2 times.
0.29
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(122)
part = get_or_none(Part.all_objects, part_num=slug1)/home/nathan/rb/site/./rb/utils.py in get_or_none(605)
return manager.get(**kwargs)
SELECT "lego_part"."id", "lego_part"."part_num", "lego_part"."name", "lego_part"."part_cat_id", "lego_part"."notes", "lego_part"."is_active", "lego_part"."search_vector", "lego_part"."ldraw_part_id", "lego_part"."bricklink_part_id", "lego_part"."ignore_color_errors", "lego_part"."part_material_id", "lego_part"."is_bricklink_minifig", "lego_part"."is_bricklink_book", "lego_part"."is_bricklink_gear", "lego_part"."show_generic_part_msg", "lego_partcategory"."id", "lego_partcategory"."name", "lego_partcategory"."part_count", "lego_partcategory"."img", "lego_partcategory"."slug", "lego_partmaterial"."id", "lego_partmaterial"."name", "lego_partoverlay"."part_id", "lego_partoverlay"."length", "lego_partstats"."part_id", "lego_partstats"."num_sets", "lego_partstats"."num_mocs", "lego_partstats"."num_set_parts", "lego_partstats"."num_moc_parts", "lego_partstats"."y1", "lego_partstats"."y2", "lego_partstats"."is_dirty" FROM "lego_part" INNER JOIN "lego_partcategory" ON ("lego_part"."part_cat_id" = "lego_partcategory"."id") INNER JOIN "lego_partmaterial" ON ("lego_part"."part_material_id" = "lego_partmaterial"."id") LEFT OUTER JOIN "lego_partoverlay" ON ("lego_part"."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON ("lego_part"."id" = "lego_partstats"."part_id") WHERE "lego_part"."part_num" = '15672' LIMIT 21SELECT ••• FROM "lego_part" INNER JOIN "lego_partcategory" ON ("lego_part"."part_cat_id" = "lego_partcategory"."id") INNER JOIN "lego_partmaterial" ON ("lego_part"."part_material_id" = "lego_partmaterial"."id") LEFT OUTER JOIN "lego_partoverlay" ON ("lego_part"."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON ("lego_part"."id" = "lego_partstats"."part_id") WHERE "lego_part"."part_num" = '15672' LIMIT 21
2 similar queries.
Duplicated 2 times.
0.42
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(362)
part = get_object_or_404(Part.all_objects, part_num=part_num)
SELECT "lego_element"."id", "lego_element"."part_id", "lego_element"."color_id", "lego_element"."element_id", "lego_element"."design_id", "lego_element"."descr", "lego_element"."color_descr", "lego_element"."last_download_attempt", "lego_element"."num_download_attempts", "lego_element"."is_export_id", "lego_element"."is_active" FROM "lego_element" INNER JOIN "lego_color" ON ("lego_element"."color_id" = "lego_color"."id") WHERE ("lego_element"."is_active" AND "lego_element"."part_id" IN (1624)) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASCSELECT ••• FROM "lego_element" INNER JOIN "lego_color" ON ("lego_element"."color_id" = "lego_color"."id") WHERE ("lego_element"."is_active" AND "lego_element"."part_id" IN (1624)) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
2 similar queries.
Duplicated 2 times.
0.25
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(362)
part = get_object_or_404(Part.all_objects, part_num=part_num)
SELECT "lego_partcolorstats"."id", "lego_partcolorstats"."part_id", "lego_partcolorstats"."color_id", "lego_partcolorstats"."num_sets", "lego_partcolorstats"."num_mocs", "lego_partcolorstats"."num_set_parts", "lego_partcolorstats"."num_moc_parts", "lego_partcolorstats"."y1", "lego_partcolorstats"."y2", "lego_partcolorstats"."is_dirty", "lego_partcolorstats"."ignore_color_errors" FROM "lego_partcolorstats" WHERE "lego_partcolorstats"."part_id" IN (1624)SELECT ••• FROM "lego_partcolorstats" WHERE "lego_partcolorstats"."part_id" IN (1624)
2 similar queries.
Duplicated 2 times.
0.14
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(362)
part = get_object_or_404(Part.all_objects, part_num=part_num)
SELECT "lego_partcost"."id", "lego_partcost"."part_id", "lego_partcost"."color_id", "lego_partcost"."is_used", "lego_partcost"."cost_avg", "lego_partcost"."cost_min", "lego_partcost"."cost_max", "lego_partcost"."cost_count" FROM "lego_partcost" WHERE "lego_partcost"."part_id" IN (1624)SELECT ••• FROM "lego_partcost" WHERE "lego_partcost"."part_id" IN (1624)
2 similar queries.
Duplicated 2 times.
0.13
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(362)
part = get_object_or_404(Part.all_objects, part_num=part_num)
SELECT "lego_partphoto"."id", "lego_partphoto"."part_id", "lego_partphoto"."color_id", "lego_partphoto"."submitted_by_id", "lego_partphoto"."image", "lego_partphoto"."timestamp", "lego_partphoto"."is_active", "lego_partphoto"."is_primary" FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" IN (1624))SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" IN (1624))
2 similar queries.
Duplicated 2 times.
0.11
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(362)
part = get_object_or_404(Part.all_objects, part_num=part_num)
SELECT "lego_partcolorstats"."id", "lego_partcolorstats"."part_id", "lego_partcolorstats"."color_id", "lego_partcolorstats"."num_sets", "lego_partcolorstats"."num_mocs", "lego_partcolorstats"."num_set_parts", "lego_partcolorstats"."num_moc_parts", "lego_partcolorstats"."y1", "lego_partcolorstats"."y2", "lego_partcolorstats"."is_dirty", "lego_partcolorstats"."ignore_color_errors" FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 1624) ORDER BY "lego_partcolorstats"."num_set_parts" DESC LIMIT 1SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 1624) ORDER BY "lego_partcolorstats"."num_set_parts" DESCLIMIT 1
2 similar queries.
0.15
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(372)
part.img_element = part.get_img_dir(force_use_element=True)/home/nathan/rb/site/./lego/models/parts.py in get_img_dir(536)
most_common_color_id = self.get_most_common_color()/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/models/parts.py in get_most_common_color(323)
pcs = PartColorStats.objects.filter(part=self, num_sets__gt=0).order_by('-num_set_parts').first()
SELECT "lego_partrelationship"."id", "lego_partrelationship"."part_parent_id", "lego_partrelationship"."part_child_id", "lego_partrelationship"."rel_type", T3."id", T3."part_num", T3."name", T3."part_cat_id", T3."notes", T3."is_active", T3."search_vector", T3."ldraw_part_id", T3."bricklink_part_id", T3."ignore_color_errors", T3."part_material_id", T3."is_bricklink_minifig", T3."is_bricklink_book", T3."is_bricklink_gear", T3."show_generic_part_msg", "lego_partcategory"."id", "lego_partcategory"."name", "lego_partcategory"."part_count", "lego_partcategory"."img", "lego_partcategory"."slug", "lego_partoverlay"."part_id", "lego_partoverlay"."length", "lego_partstats"."part_id", "lego_partstats"."num_sets", "lego_partstats"."num_mocs", "lego_partstats"."num_set_parts", "lego_partstats"."num_moc_parts", "lego_partstats"."y1", "lego_partstats"."y2", "lego_partstats"."is_dirty" FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_child_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_parent_id" = 1624 AND "lego_partrelationship"."rel_type" = 'B' ANDNOT ("lego_partrelationship"."part_child_id" = 1624)) ORDER BY "lego_partstats"."num_sets" DESCSELECT ••• FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_child_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_parent_id" = 1624 AND "lego_partrelationship"."rel_type" = 'B' ANDNOT ("lego_partrelationship"."part_child_id" = 1624)) ORDER BY "lego_partstats"."num_sets" DESC
4 similar queries.
0.39
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(379)
subparts = sorted(part.get_related_subparts_child(), key=lambda x: x.part_num)/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/models/parts.py in get_related_subparts_child(768)
return self.get_related_children(PartRelationship.REL_TYPE_SUBPART)/home/nathan/rb/site/./lego/models/parts.py in get_related_children(743)
return [p.part_child for p in parts]
SELECT "lego_partrelationshipflat"."part_id", "lego_partrelationshipflat"."a", "lego_partrelationshipflat"."m", "lego_partrelationshipflat"."p", "lego_partrelationshipflat"."am", "lego_partrelationshipflat"."ap", "lego_partrelationshipflat"."mp", "lego_partrelationshipflat"."amp" FROM "lego_partrelationshipflat" WHERE ("lego_partrelationshipflat"."am" ISNOT NULLAND "lego_partrelationshipflat"."part_id" = 1624) LIMIT 21SELECT ••• FROM "lego_partrelationshipflat" WHERE ("lego_partrelationshipflat"."am" ISNOT NULLAND "lego_partrelationshipflat"."part_id" = 1624) LIMIT 21
0.10
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(380)
alts_molds = sorted(part.get_related_alts_and_molds(), key=lambda x: x.part_num) # Follows nested alts/molds relationships/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/models/parts.py in get_related_alts_and_molds(829)
part_rel_flat = PartRelationshipFlat.objects.get(part=self, am__isnull=False)
SELECT "lego_partrelationshipflat"."part_id", "lego_partrelationshipflat"."a", "lego_partrelationshipflat"."m", "lego_partrelationshipflat"."p", "lego_partrelationshipflat"."am", "lego_partrelationshipflat"."ap", "lego_partrelationshipflat"."mp", "lego_partrelationshipflat"."amp" FROM "lego_partrelationshipflat" INNER JOIN "lego_part" ON ("lego_partrelationshipflat"."part_id" = "lego_part"."id") LEFT OUTER JOIN "lego_partstats" ON ("lego_part"."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationshipflat"."am" = 1032711 ANDNOT ("lego_partrelationshipflat"."part_id" = 1624)) ORDER BY "lego_partstats"."num_sets" DESCSELECT ••• FROM "lego_partrelationshipflat" INNER JOIN "lego_part" ON ("lego_partrelationshipflat"."part_id" = "lego_part"."id") LEFT OUTER JOIN "lego_partstats" ON ("lego_part"."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationshipflat"."am" = 1032711 ANDNOT ("lego_partrelationshipflat"."part_id" = 1624)) ORDER BY "lego_partstats"."num_sets" DESC
0.22
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(380)
alts_molds = sorted(part.get_related_alts_and_molds(), key=lambda x: x.part_num) # Follows nested alts/molds relationships/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/models/parts.py in get_related_alts_and_molds(835)
for p in parts:
SELECT "lego_part"."id", "lego_part"."part_num", "lego_part"."name", "lego_part"."part_cat_id", "lego_part"."notes", "lego_part"."is_active", "lego_part"."search_vector", "lego_part"."ldraw_part_id", "lego_part"."bricklink_part_id", "lego_part"."ignore_color_errors", "lego_part"."part_material_id", "lego_part"."is_bricklink_minifig", "lego_part"."is_bricklink_book", "lego_part"."is_bricklink_gear", "lego_part"."show_generic_part_msg" FROM "lego_part" WHERE "lego_part"."id" = 20219 LIMIT 21SELECT ••• FROM "lego_part" WHERE "lego_part"."id" = 20219 LIMIT 21
0.09
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(380)
alts_molds = sorted(part.get_related_alts_and_molds(), key=lambda x: x.part_num) # Follows nested alts/molds relationships/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/models/parts.py in get_related_alts_and_molds(837)
p.part.is_alt = False
SELECT "lego_partrelationship"."id", "lego_partrelationship"."part_parent_id", "lego_partrelationship"."part_child_id", "lego_partrelationship"."rel_type", T3."id", T3."part_num", T3."name", T3."part_cat_id", T3."notes", T3."is_active", T3."search_vector", T3."ldraw_part_id", T3."bricklink_part_id", T3."ignore_color_errors", T3."part_material_id", T3."is_bricklink_minifig", T3."is_bricklink_book", T3."is_bricklink_gear", T3."show_generic_part_msg", "lego_partcategory"."id", "lego_partcategory"."name", "lego_partcategory"."part_count", "lego_partcategory"."img", "lego_partcategory"."slug", "lego_partoverlay"."part_id", "lego_partoverlay"."length", "lego_partstats"."part_id", "lego_partstats"."num_sets", "lego_partstats"."num_mocs", "lego_partstats"."num_set_parts", "lego_partstats"."num_moc_parts", "lego_partstats"."y1", "lego_partstats"."y2", "lego_partstats"."is_dirty" FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_child_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_parent_id" = 1624 AND "lego_partrelationship"."rel_type" = 'P' ANDNOT ("lego_partrelationship"."part_child_id" = 1624)) ORDER BY "lego_partstats"."num_sets" DESCSELECT ••• FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_child_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_parent_id" = 1624 AND "lego_partrelationship"."rel_type" = 'P' ANDNOT ("lego_partrelationship"."part_child_id" = 1624)) ORDER BY "lego_partstats"."num_sets" DESC
4 similar queries.
0.42
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(383)
prints = sorted(part.get_related_prints_child(), key=lambda x: x.part_num)/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/models/parts.py in get_related_prints_child(750)
return self.get_related_children(PartRelationship.REL_TYPE_PRINT, limit=limit)/home/nathan/rb/site/./lego/models/parts.py in get_related_children(743)
return [p.part_child for p in parts]
SELECT "lego_partrelationship"."id", "lego_partrelationship"."part_parent_id", "lego_partrelationship"."part_child_id", "lego_partrelationship"."rel_type", T3."id", T3."part_num", T3."name", T3."part_cat_id", T3."notes", T3."is_active", T3."search_vector", T3."ldraw_part_id", T3."bricklink_part_id", T3."ignore_color_errors", T3."part_material_id", T3."is_bricklink_minifig", T3."is_bricklink_book", T3."is_bricklink_gear", T3."show_generic_part_msg", "lego_partcategory"."id", "lego_partcategory"."name", "lego_partcategory"."part_count", "lego_partcategory"."img", "lego_partcategory"."slug", "lego_partoverlay"."part_id", "lego_partoverlay"."length", "lego_partstats"."part_id", "lego_partstats"."num_sets", "lego_partstats"."num_mocs", "lego_partstats"."num_set_parts", "lego_partstats"."num_moc_parts", "lego_partstats"."y1", "lego_partstats"."y2", "lego_partstats"."is_dirty" FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_child_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_parent_id" = 1624 AND "lego_partrelationship"."rel_type" = 'T' ANDNOT ("lego_partrelationship"."part_child_id" = 1624)) ORDER BY "lego_partstats"."num_sets" DESCSELECT ••• FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_child_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_parent_id" = 1624 AND "lego_partrelationship"."rel_type" = 'T' ANDNOT ("lego_partrelationship"."part_child_id" = 1624)) ORDER BY "lego_partstats"."num_sets" DESC
4 similar queries.
0.33
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(384)
patterns = sorted(part.get_related_patterns_child(), key=lambda x: x.part_num)/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/models/parts.py in get_related_patterns_child(759)
return self.get_related_children(PartRelationship.REL_TYPE_PATTERN, limit=limit)/home/nathan/rb/site/./lego/models/parts.py in get_related_children(743)
return [p.part_child for p in parts]
SELECT "lego_partrelationship"."id", "lego_partrelationship"."part_parent_id", "lego_partrelationship"."part_child_id", "lego_partrelationship"."rel_type", T3."id", T3."part_num", T3."name", T3."part_cat_id", T3."notes", T3."is_active", T3."search_vector", T3."ldraw_part_id", T3."bricklink_part_id", T3."ignore_color_errors", T3."part_material_id", T3."is_bricklink_minifig", T3."is_bricklink_book", T3."is_bricklink_gear", T3."show_generic_part_msg", "lego_partcategory"."id", "lego_partcategory"."name", "lego_partcategory"."part_count", "lego_partcategory"."img", "lego_partcategory"."slug", "lego_partoverlay"."part_id", "lego_partoverlay"."length", "lego_partstats"."part_id", "lego_partstats"."num_sets", "lego_partstats"."num_mocs", "lego_partstats"."num_set_parts", "lego_partstats"."num_moc_parts", "lego_partstats"."y1", "lego_partstats"."y2", "lego_partstats"."is_dirty" FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_child_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_parent_id" = 1624 AND "lego_partrelationship"."rel_type" = 'R' ANDNOT ("lego_partrelationship"."part_child_id" = 1624)) ORDER BY "lego_partstats"."num_sets" DESCSELECT ••• FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_child_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_parent_id" = 1624 AND "lego_partrelationship"."rel_type" = 'R' ANDNOT ("lego_partrelationship"."part_child_id" = 1624)) ORDER BY "lego_partstats"."num_sets" DESC
4 similar queries.
0.38
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(385)
pairs = part.get_related_pairs()/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/models/parts.py in get_related_pairs(854)
children = self.get_related_children(PartRelationship.REL_TYPE_PAIR)/home/nathan/rb/site/./lego/models/parts.py in get_related_children(743)
return [p.part_child for p in parts]
SELECT "lego_partrelationship"."id", "lego_partrelationship"."part_parent_id", "lego_partrelationship"."part_child_id", "lego_partrelationship"."rel_type", T3."id", T3."part_num", T3."name", T3."part_cat_id", T3."notes", T3."is_active", T3."search_vector", T3."ldraw_part_id", T3."bricklink_part_id", T3."ignore_color_errors", T3."part_material_id", T3."is_bricklink_minifig", T3."is_bricklink_book", T3."is_bricklink_gear", T3."show_generic_part_msg", "lego_partcategory"."id", "lego_partcategory"."name", "lego_partcategory"."part_count", "lego_partcategory"."img", "lego_partcategory"."slug", "lego_partoverlay"."part_id", "lego_partoverlay"."length", "lego_partstats"."part_id", "lego_partstats"."num_sets", "lego_partstats"."num_mocs", "lego_partstats"."num_set_parts", "lego_partstats"."num_moc_parts", "lego_partstats"."y1", "lego_partstats"."y2", "lego_partstats"."is_dirty" FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_parent_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_child_id" = 1624 AND "lego_partrelationship"."rel_type" = 'R' ANDNOT ("lego_partrelationship"."part_parent_id" = 1624)) ORDER BY "lego_partstats"."num_sets" DESCSELECT ••• FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_parent_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_child_id" = 1624 AND "lego_partrelationship"."rel_type" = 'R' ANDNOT ("lego_partrelationship"."part_parent_id" = 1624)) ORDER BY "lego_partstats"."num_sets" DESC
2 similar queries.
0.41
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(385)
pairs = part.get_related_pairs()/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/models/parts.py in get_related_pairs(855)
parents = self.get_related_parents(PartRelationship.REL_TYPE_PAIR)/home/nathan/rb/site/./lego/models/parts.py in get_related_parents(714)
return [p.part_parent for p in parts]
SELECT "lego_partrelationship"."id", "lego_partrelationship"."part_parent_id", "lego_partrelationship"."part_child_id", "lego_partrelationship"."rel_type", T3."id", T3."part_num", T3."name", T3."part_cat_id", T3."notes", T3."is_active", T3."search_vector", T3."ldraw_part_id", T3."bricklink_part_id", T3."ignore_color_errors", T3."part_material_id", T3."is_bricklink_minifig", T3."is_bricklink_book", T3."is_bricklink_gear", T3."show_generic_part_msg", "lego_partcategory"."id", "lego_partcategory"."name", "lego_partcategory"."part_count", "lego_partcategory"."img", "lego_partcategory"."slug", "lego_partoverlay"."part_id", "lego_partoverlay"."length", "lego_partstats"."part_id", "lego_partstats"."num_sets", "lego_partstats"."num_mocs", "lego_partstats"."num_set_parts", "lego_partstats"."num_moc_parts", "lego_partstats"."y1", "lego_partstats"."y2", "lego_partstats"."is_dirty" FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_parent_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_child_id" = 1624 AND "lego_partrelationship"."rel_type" = 'P') LIMIT 1SELECT ••• FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_parent_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_child_id" = 1624 AND "lego_partrelationship"."rel_type" = 'P') LIMIT 1
2 similar queries.
0.44
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(386)
print_of = part.get_related_prints_parent()/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/models/parts.py in get_related_prints_parent(773)
return self.get_related_parent(PartRelationship.REL_TYPE_PRINT, query_related=query_related)/home/nathan/rb/site/./lego/models/parts.py in get_related_parent(727)
return parents[0].part_parent
SELECT "lego_partrelationship"."id", "lego_partrelationship"."part_parent_id", "lego_partrelationship"."part_child_id", "lego_partrelationship"."rel_type", T3."id", T3."part_num", T3."name", T3."part_cat_id", T3."notes", T3."is_active", T3."search_vector", T3."ldraw_part_id", T3."bricklink_part_id", T3."ignore_color_errors", T3."part_material_id", T3."is_bricklink_minifig", T3."is_bricklink_book", T3."is_bricklink_gear", T3."show_generic_part_msg", "lego_partcategory"."id", "lego_partcategory"."name", "lego_partcategory"."part_count", "lego_partcategory"."img", "lego_partcategory"."slug", "lego_partoverlay"."part_id", "lego_partoverlay"."length", "lego_partstats"."part_id", "lego_partstats"."num_sets", "lego_partstats"."num_mocs", "lego_partstats"."num_set_parts", "lego_partstats"."num_moc_parts", "lego_partstats"."y1", "lego_partstats"."y2", "lego_partstats"."is_dirty" FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_parent_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_child_id" = 1624 AND "lego_partrelationship"."rel_type" = 'T') LIMIT 1SELECT ••• FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_parent_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_child_id" = 1624 AND "lego_partrelationship"."rel_type" = 'T') LIMIT 1
2 similar queries.
0.41
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(387)
pattern_of = part.get_related_patterns_parent()/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/models/parts.py in get_related_patterns_parent(778)
return self.get_related_parent(PartRelationship.REL_TYPE_PATTERN)/home/nathan/rb/site/./lego/models/parts.py in get_related_parent(727)
return parents[0].part_parent
SELECT "lego_partrelationship"."id", "lego_partrelationship"."part_parent_id", "lego_partrelationship"."part_child_id", "lego_partrelationship"."rel_type", T3."id", T3."part_num", T3."name", T3."part_cat_id", T3."notes", T3."is_active", T3."search_vector", T3."ldraw_part_id", T3."bricklink_part_id", T3."ignore_color_errors", T3."part_material_id", T3."is_bricklink_minifig", T3."is_bricklink_book", T3."is_bricklink_gear", T3."show_generic_part_msg", "lego_partcategory"."id", "lego_partcategory"."name", "lego_partcategory"."part_count", "lego_partcategory"."img", "lego_partcategory"."slug", "lego_partoverlay"."part_id", "lego_partoverlay"."length", "lego_partstats"."part_id", "lego_partstats"."num_sets", "lego_partstats"."num_mocs", "lego_partstats"."num_set_parts", "lego_partstats"."num_moc_parts", "lego_partstats"."y1", "lego_partstats"."y2", "lego_partstats"."is_dirty" FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_parent_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_child_id" = 1624 AND "lego_partrelationship"."rel_type" = 'B' ANDNOT ("lego_partrelationship"."part_parent_id" = 1624)) ORDER BY "lego_partstats"."num_sets" DESCSELECT ••• FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_parent_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_child_id" = 1624 AND "lego_partrelationship"."rel_type" = 'B' ANDNOT ("lego_partrelationship"."part_parent_id" = 1624)) ORDER BY "lego_partstats"."num_sets" DESC
2 similar queries.
0.40
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(388)
subpart_of = part.get_related_subparts_parents()/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/models/parts.py in get_related_subparts_parents(801)
return self.get_related_parents(PartRelationship.REL_TYPE_SUBPART)/home/nathan/rb/site/./lego/models/parts.py in get_related_parents(714)
return [p.part_parent for p in parts]
select lego_color.id, lego_color.id as color_id, name as color_name, rgb, sum(num_set_parts) as num_set_parts,
sum(num_moc_parts) as num_moc_parts, sum(num_sets) as num_sets, sum(num_mocs) as num_mocs,
min(y1) as y1, max(y2) as y2
from lego_color
left outer join lego_PartColorStats on lego_PartColorStats.color_id = lego_Color.id
and lego_PartColorStats.part_id = 1624
where lego_color.id notin (-1)
group by 1, 2, 3, 4
select lego_color.id, lego_color.id as color_id, name as color_name, rgb, sum(num_set_parts) as num_set_parts,
sum(num_moc_parts) as num_moc_parts, sum(num_sets) as num_sets, sum(num_mocs) as num_mocs,
min(y1) as y1, max(y2) as y2
from lego_color
left outer join lego_PartColorStats on lego_PartColorStats.color_id = lego_Color.id
and lego_PartColorStats.part_id = 1624
where lego_color.id notin (-1)
group by 1, 2, 3, 4
0.42
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(418)
context['part_colors'] = PartColorStats.get_all_color_stats_for_part(part.id)/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/models/parts.py in get_all_color_stats_for_part(1767)
for stat in stats:
SELECT "lego_element"."id", "lego_element"."part_id", "lego_element"."color_id", "lego_element"."element_id", "lego_element"."design_id", "lego_element"."descr", "lego_element"."color_descr", "lego_element"."last_download_attempt", "lego_element"."num_download_attempts", "lego_element"."is_export_id", "lego_element"."is_active" FROM "lego_element" INNER JOIN "lego_color" ON ("lego_element"."color_id" = "lego_color"."id") WHERE ("lego_element"."is_active" AND "lego_element"."is_export_id" AND "lego_element"."part_id" = 1624) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASCSELECT ••• FROM "lego_element" INNER JOIN "lego_color" ON ("lego_element"."color_id" = "lego_color"."id") WHERE ("lego_element"."is_active" AND "lego_element"."is_export_id" AND "lego_element"."part_id" = 1624) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
0.25
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(425)
elements_map = {e.color_id: e for e in elements}
SELECT "lego_partstats"."part_id", "lego_partstats"."num_sets", "lego_partstats"."num_mocs", "lego_partstats"."num_set_parts", "lego_partstats"."num_moc_parts", "lego_partstats"."y1", "lego_partstats"."y2", "lego_partstats"."is_dirty" FROM "lego_partstats" WHERE "lego_partstats"."part_id" = 20219 LIMIT 21SELECT ••• FROM "lego_partstats" WHERE "lego_partstats"."part_id" = 20219 LIMIT 21
0.14
Connection: default
Transaction status: In transaction
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(461)
all_molds.sort(key=lambda x: x.stats.y1)/home/nathan/rb/site/./lego/views/parts.py in <lambda>(461)
all_molds.sort(key=lambda x: x.stats.y1)/usr/lib/python3.10/contextlib.py in inner(79)
return func(*args, **kwds)/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
.__get__(instance, instance_type)
selectcase when s.set_type='Figure' then fs.year else s.year endasyear, count(*) as num_sets, min(s.id) as id
FROM lego_baseset s
INNER JOIN lego_inventory i on s.id = i.set_id
INNER JOIN lego_invpart ip on i.id = ip.inventory_id
left outer join lego_invset invs on s.id = invs.inv_set_id and s.set_type='Figure'
left outer join lego_inventory fi on invs.inventory_id = fi.id
left outer join lego_baseset fs on fi.set_id = fs.id and fs.set_type = 'Set'
WHERE s.is_active AND i.is_active AND ip.part_id = 1624
and (s.set_type = 'Set' or fs.year isnot null)
AND s.set_type IN ('Set', 'Figure')
group by 1selectcasewhen s.set_type='Figure' then fs.year else s.year endasyear, count(*) as num_sets, min(s.id) as id
FROM lego_baseset s
INNER JOIN lego_inventory i on s.id = i.set_id
INNER JOIN lego_invpart ip on i.id = ip.inventory_id
left outer join lego_invset invs on s.id = invs.inv_set_id and s.set_type='Figure'
left outer join lego_inventory fi on invs.inventory_id = fi.id
left outer join lego_baseset fs on fi.set_id = fs.id and fs.set_type = 'Set'
WHERE s.is_active AND i.is_active AND ip.part_id = 1624
and (s.set_type = 'Set' or fs.year isnot null)
AND s.set_type IN ('Set', 'Figure')
group by 1
140.94
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 9910 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 9910 LIMIT 21
18 similar queries.
0.17
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 65 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 65 LIMIT 21
18 similar queries.
0.09
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 51 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 51 LIMIT 21
18 similar queries.
0.07
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 291 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 291 LIMIT 21
18 similar queries.
0.06
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 235 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 235 LIMIT 21
18 similar queries.
0.06
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 21322 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 21322 LIMIT 21
18 similar queries.
0.06
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 29342 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 29342 LIMIT 21
18 similar queries.
0.06
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 41657 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 41657 LIMIT 21
18 similar queries.
0.06
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 77256 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 77256 LIMIT 21
18 similar queries.
0.05
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 113765 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 113765 LIMIT 21
18 similar queries.
0.07
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 147068 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 147068 LIMIT 21
18 similar queries.
0.06
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 189819 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 189819 LIMIT 21
18 similar queries.
0.05
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 233796 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 233796 LIMIT 21
18 similar queries.
0.06
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 298753 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 298753 LIMIT 21
18 similar queries.
0.07
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
selectcase when s.set_type='Figure' then fs.year else s.year endasyear, count(*) as num_sets, min(s.id) as id
FROM lego_baseset s
INNER JOIN lego_inventory i on s.id = i.set_id
INNER JOIN lego_invpart ip on i.id = ip.inventory_id
left outer join lego_invset invs on s.id = invs.inv_set_id and s.set_type='Figure'
left outer join lego_inventory fi on invs.inventory_id = fi.id
left outer join lego_baseset fs on fi.set_id = fs.id and fs.set_type = 'Set'
WHERE s.is_active AND i.is_active AND ip.part_id = 20219
and (s.set_type = 'Set' or fs.year isnot null)
AND s.set_type IN ('Set', 'Figure')
group by 1selectcasewhen s.set_type='Figure' then fs.year else s.year endasyear, count(*) as num_sets, min(s.id) as id
FROM lego_baseset s
INNER JOIN lego_inventory i on s.id = i.set_id
INNER JOIN lego_invpart ip on i.id = ip.inventory_id
left outer join lego_invset invs on s.id = invs.inv_set_id and s.set_type='Figure'
left outer join lego_inventory fi on invs.inventory_id = fi.id
left outer join lego_baseset fs on fi.set_id = fs.id and fs.set_type = 'Set'
WHERE s.is_active AND i.is_active AND ip.part_id = 20219
and (s.set_type = 'Set' or fs.year isnot null)
AND s.set_type IN ('Set', 'Figure')
group by 1
28.26
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 234 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 234 LIMIT 21
18 similar queries.
0.12
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 488 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 488 LIMIT 21
18 similar queries.
0.07
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 121 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 121 LIMIT 21
18 similar queries.
0.06
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 712 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 712 LIMIT 21
18 similar queries.
0.06
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
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"."instance_id" = 1624 AND "lego_changelog"."model" = 'Part') ORDER BY "lego_changelog"."timestamp" DESCSELECT ••• FROM "lego_changelog" WHERE ("lego_changelog"."instance_id" = 1624 AND "lego_changelog"."model" = 'Part') ORDER BY "lego_changelog"."timestamp" DESC
3.05
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(598)
changes = part.get_change_summary()/home/nathan/rb/site/./lego/models/parts.py in get_change_summary(961)
changes = ChangeLog.get_changes(part_id=self.id)/home/nathan/rb/site/./lego/models/changes.py in get_changes(276)
if len(changes) > 0:
SELECT "lego_partmap"."id", "lego_partmap"."part_id", "lego_partmap"."ext_system", "lego_partmap"."ext_id", "lego_partmap"."is_export_id", "lego_partmap"."is_import_id" FROM "lego_partmap" WHERE "lego_partmap"."part_id" = 1624 ORDER BY "lego_partmap"."is_export_id" DESC, "lego_partmap"."ext_id" ASCSELECT ••• FROM "lego_partmap" WHERE "lego_partmap"."part_id" = 1624 ORDER BY "lego_partmap"."is_export_id" DESC, "lego_partmap"."ext_id" ASC
0.23
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(600)
context['mappings'] = part.get_ext_mappings()/home/nathan/rb/site/./lego/models/parts.py in get_ext_mappings(1165)
for part_map in self.mappings.order_by('-is_export_id', 'ext_id'): # export 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.17
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(609)
return render(request, 'parts/part_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 "lego_partrelationship"."id", "lego_partrelationship"."part_parent_id", "lego_partrelationship"."part_child_id", "lego_partrelationship"."rel_type" FROM "lego_partrelationship" WHERE ("lego_partrelationship"."part_child_id" = 1624 AND "lego_partrelationship"."rel_type" = 'S')SELECT ••• FROM "lego_partrelationship" WHERE ("lego_partrelationship"."part_child_id" = 1624 AND "lego_partrelationship"."rel_type" = 'S')
0.13
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(609)
return render(request, 'parts/part_details.html', context)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_img(227)
part_img = part.get_img_dir(color_id=color_id, force_use_ldraw=force_use_ldraw)/home/nathan/rb/site/./lego/models/parts.py in get_img_dir(607)
similar_part = self.get_similar_part()/home/nathan/rb/site/./lego/models/parts.py in get_similar_part(352)
if parent_rel:
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" = 43 AND "django_comments"."object_pk" = '1624' 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" = 43 AND "django_comments"."object_pk" = '1624' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
2 similar queries.
Duplicated 2 times.
0.72
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(609)
return render(request, 'parts/part_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()
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" = 'part') LIMIT 21SELECT ••• FROM "django_content_type" WHERE ("django_content_type"."app_label" = 'lego' AND "django_content_type"."model" = 'part') LIMIT 21
0.17
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(609)
return render(request, 'parts/part_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" = 43 AND "rb_comments_pagelocked"."object_id" = 1624) LIMIT 1SELECT ••• FROM "rb_comments_pagelocked" WHERE ("rb_comments_pagelocked"."content_type_id" = 43 AND "rb_comments_pagelocked"."object_id" = 1624) LIMIT 1
0.12
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(609)
return render(request, 'parts/part_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" = 43 AND "django_comments"."object_pk" = '1624' 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" = 43 AND "django_comments"."object_pk" = '1624' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
2 similar queries.
Duplicated 2 times.
0.20
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(609)
return render(request, 'parts/part_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 "lego_partmap"."id", "lego_partmap"."part_id", "lego_partmap"."ext_system", "lego_partmap"."ext_id", "lego_partmap"."is_export_id", "lego_partmap"."is_import_id" FROM "lego_partmap" WHERE ("lego_partmap"."ext_system" = 'BO' AND "lego_partmap"."is_export_id" AND "lego_partmap"."part_id" = 1624) LIMIT 21SELECT ••• FROM "lego_partmap" WHERE ("lego_partmap"."ext_system" = 'BO' AND "lego_partmap"."is_export_id" AND "lego_partmap"."part_id" = 1624) LIMIT 21
0.22
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(609)
return render(request, 'parts/part_details.html', context)/home/nathan/rb/site/./lego/models/parts.py in get_brickowl_num(1025)
return PartMap.part_to_brickowl_id(self.id)/home/nathan/rb/site/./lego/models/parts.py in part_to_brickowl_id(2011)
part_map = PartMap.objects.get(ext_system=rb.constants.systems.EXT_SYSTEM_BRICKOWL, part_id=part_id, is_export_id=True)
SELECT "lego_partcolorstats"."id", "lego_partcolorstats"."part_id", "lego_partcolorstats"."color_id", "lego_partcolorstats"."num_sets", "lego_partcolorstats"."num_mocs", "lego_partcolorstats"."num_set_parts", "lego_partcolorstats"."num_moc_parts", "lego_partcolorstats"."y1", "lego_partcolorstats"."y2", "lego_partcolorstats"."is_dirty", "lego_partcolorstats"."ignore_color_errors" FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 20219) ORDER BY "lego_partcolorstats"."num_set_parts" DESC LIMIT 1SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 20219) ORDER BY "lego_partcolorstats"."num_set_parts" DESCLIMIT 1
2 similar queries.
0.39
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(609)
return render(request, 'parts/part_details.html', context)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
return _render_part_in_color(part, sub_text=sub_text, request=request)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
part_img = part.get_img_dir()/home/nathan/rb/site/./lego/models/parts.py in get_img_dir(536)
most_common_color_id = self.get_most_common_color()/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/models/parts.py in get_most_common_color(323)
pcs = PartColorStats.objects.filter(part=self, num_sets__gt=0).order_by('-num_set_parts').first()
SELECT "lego_element"."id", "lego_element"."part_id", "lego_element"."color_id", "lego_element"."element_id", "lego_element"."design_id", "lego_element"."descr", "lego_element"."color_descr", "lego_element"."last_download_attempt", "lego_element"."num_download_attempts", "lego_element"."is_export_id", "lego_element"."is_active" FROM "lego_element" INNER JOIN "lego_color" ON ("lego_element"."color_id" = "lego_color"."id") WHERE ("lego_element"."is_active" AND "lego_element"."part_id" = 20219) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASCSELECT ••• FROM "lego_element" INNER JOIN "lego_color" ON ("lego_element"."color_id" = "lego_color"."id") WHERE ("lego_element"."is_active" AND "lego_element"."part_id" = 20219) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
0.31
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(609)
return render(request, 'parts/part_details.html', context)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
return _render_part_in_color(part, sub_text=sub_text, request=request)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
part_img = part.get_img_dir()/home/nathan/rb/site/./lego/models/parts.py in get_img_dir(592)
res['img_url'] = self.get_element_image(color_id=color_id or most_common_color_id)/home/nathan/rb/site/./lego/models/parts.py in get_element_image(428)
element, element_id = self.get_element_with_image(color_id=color_id)/home/nathan/rb/site/./lego/models/parts.py in get_element_with_image(391)
for e in self.elements.all():
SELECT "lego_partcategory"."id", "lego_partcategory"."name", "lego_partcategory"."part_count", "lego_partcategory"."img", "lego_partcategory"."slug" FROM "lego_partcategory" WHERE "lego_partcategory"."id" = 3 LIMIT 21SELECT ••• FROM "lego_partcategory" WHERE "lego_partcategory"."id" = 3 LIMIT 21
0.09
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(609)
return render(request, 'parts/part_details.html', context)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
return _render_part_in_color(part, sub_text=sub_text, request=request)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(96)
title += '\n' + part.part_cat.name
SELECT "lego_partoverlay"."part_id", "lego_partoverlay"."length" FROM "lego_partoverlay" WHERE "lego_partoverlay"."part_id" = 20219 LIMIT 21SELECT ••• FROM "lego_partoverlay" WHERE "lego_partoverlay"."part_id" = 20219 LIMIT 21
0.10
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(609)
return render(request, 'parts/part_details.html', context)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
return _render_part_in_color(part, sub_text=sub_text, request=request)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(100)
if part.get_overlay():/home/nathan/rb/site/./lego/models/parts.py in get_overlay(308)
return self.overlay
SELECTDISTINCT "taggit_tag"."id", "taggit_tag"."name", "taggit_tag"."slug", COUNT("lego_part"."id") AS "count" FROM "taggit_tag" INNER JOIN "taggit_taggeditem" ON ("taggit_tag"."id" = "taggit_taggeditem"."tag_id") INNER JOIN "django_content_type" ON ("taggit_taggeditem"."content_type_id" = "django_content_type"."id") LEFT OUTER JOIN "lego_part" ON ("taggit_taggeditem"."object_id" = "lego_part"."id" AND ("taggit_taggeditem"."content_type_id" IN (43,48))) INNER JOIN "taggit_taggeditem" T5 ON ("taggit_tag"."id" = T5."tag_id") INNER JOIN "lego_part" T6 ON (T5."object_id" = T6."id" AND (T5."content_type_id" IN (43,48))) WHERE ("django_content_type"."app_label" = 'lego' AND "django_content_type"."model" = 'part' AND T6."id" = 1624) GROUP BY "taggit_tag"."id"SELECT ••• FROM "taggit_tag" INNER JOIN "taggit_taggeditem" ON ("taggit_tag"."id" = "taggit_taggeditem"."tag_id") INNER JOIN "django_content_type" ON ("taggit_taggeditem"."content_type_id" = "django_content_type"."id") LEFT OUTER JOIN "lego_part" ON ("taggit_taggeditem"."object_id" = "lego_part"."id" AND ("taggit_taggeditem"."content_type_id" IN (43,48))) INNER JOIN "taggit_taggeditem" T5 ON ("taggit_tag"."id" = T5."tag_id") INNER JOIN "lego_part" T6 ON (T5."object_id" = T6."id" AND (T5."content_type_id" IN (43,48))) WHERE ("django_content_type"."app_label" = 'lego' AND "django_content_type"."model" = 'part' AND T6."id" = 1624) GROUP BY "taggit_tag"."id"
1.11
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/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/parts.py in part_details(609)
return render(request, 'parts/part_details.html', context)
1
{# Simon wanted the id=tags as an anchor for his links #}