3622 Brick 1 x 3 Solid Bottom Tubes without Cross Supports This seems to be the original version, introduced in 1978. The inside has two solid bottom tube, but without cross supports connecting the bottom tubes to the side walls.
3622 Brick 1 x 3 Solid Bottom Tubes with Cross Supports This seems to be a later version. The two solid bottom tubes are connected with the side walls by cross supports.
3622 Brick 1 x 3 Hollow Bottom Tubes with Cross Supports This seems to be modern version. The two bottom tube are hollow, and connected with the side walls by cross supports.
The mold comparison image shows all three versions. As long as we are unsure when the mold change happened, we cannot create different parts for these molds. A transparent version with 'Frosted' Horizontal Line (3622f1) has, as yet, not been found in any set.
LEGO mapping includes Design ID 45505 for transparent (PC) parts.
This part appears in 61 Colors. Click on a colored part below to see the Sets and MOCs that use part 3622 Brick 1 x 3 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
15.23 ms (36 queries
including 17 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" = '3622' 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" = '3622' LIMIT 21
2 similar queries.
Duplicated 2 times.
0.80
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 (107)) 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 (107)) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
2 similar queries.
Duplicated 2 times.
0.62
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 (107)SELECT ••• FROM "lego_partcolorstats" WHERE "lego_partcolorstats"."part_id" IN (107)
2 similar queries.
Duplicated 2 times.
0.38
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 (107)SELECT ••• FROM "lego_partcost" WHERE "lego_partcost"."part_id" IN (107)
2 similar queries.
Duplicated 2 times.
0.38
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 (107))SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" IN (107))
2 similar queries.
Duplicated 2 times.
0.25
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" = '3622' 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" = '3622' LIMIT 21
2 similar queries.
Duplicated 2 times.
0.66
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 (107)) 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 (107)) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
2 similar queries.
Duplicated 2 times.
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(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 (107)SELECT ••• FROM "lego_partcolorstats" WHERE "lego_partcolorstats"."part_id" IN (107)
2 similar queries.
Duplicated 2 times.
0.19
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 (107)SELECT ••• FROM "lego_partcost" WHERE "lego_partcost"."part_id" IN (107)
2 similar queries.
Duplicated 2 times.
0.18
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 (107))SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" IN (107))
2 similar queries.
Duplicated 2 times.
0.16
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_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" = 107 AND "lego_partrelationship"."rel_type" = 'P' ANDNOT ("lego_partrelationship"."part_child_id" = 107)) 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" = 107 AND "lego_partrelationship"."rel_type" = 'P' ANDNOT ("lego_partrelationship"."part_child_id" = 107)) ORDER BY "lego_partstats"."num_sets" DESC
1.73
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]
/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]
/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]
/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_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" = 107 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" = 107 AND "lego_partrelationship"."rel_type" = 'P') LIMIT 1
2 similar queries.
0.75
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" = 107 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" = 107 AND "lego_partrelationship"."rel_type" = 'T') LIMIT 1
2 similar queries.
0.45
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_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 = 107
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 = 107
where lego_color.id notin (-1)
group by 1, 2, 3, 4
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(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" = 107) 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" = 107) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
0.48
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_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" = 107 AND "lego_changelog"."model" = 'Part') ORDER BY "lego_changelog"."timestamp" DESCSELECT ••• FROM "lego_changelog" WHERE ("lego_changelog"."instance_id" = 107 AND "lego_changelog"."model" = 'Part') ORDER BY "lego_changelog"."timestamp" DESC
0.55
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" = 107 ORDER BY "lego_partmap"."is_export_id" DESC, "lego_partmap"."ext_id" ASCSELECT ••• FROM "lego_partmap" WHERE "lego_partmap"."part_id" = 107 ORDER BY "lego_partmap"."is_export_id" DESC, "lego_partmap"."ext_id" ASC
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(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 "rb_sitesettings"."id", "rb_sitesettings"."name", "rb_sitesettings"."value" FROM "rb_sitesettings" WHERE "rb_sitesettings"."name" = 'site_message' LIMIT 21SELECT ••• FROM "rb_sitesettings" WHERE "rb_sitesettings"."name" = 'site_message' LIMIT 21
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(609)
return render(request, 'parts/part_details.html', context)/home/nathan/rb/site/./rb/templatetags/rb_settings.py in site_message(147)
message = SiteSettings.get_site_message()/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./rb/models/site.py in get_site_message(24)
setting = cls.objects.get(name=SiteSettings.SITE_MESSAGE)
SELECT "countries_plus_country"."iso", "countries_plus_country"."iso3", "countries_plus_country"."iso_numeric", "countries_plus_country"."fips", "countries_plus_country"."name", "countries_plus_country"."capital", "countries_plus_country"."area", "countries_plus_country"."population", "countries_plus_country"."continent", "countries_plus_country"."tld", "countries_plus_country"."currency_code", "countries_plus_country"."currency_symbol", "countries_plus_country"."currency_name", "countries_plus_country"."phone", "countries_plus_country"."postal_code_format", "countries_plus_country"."postal_code_regex", "countries_plus_country"."languages", "countries_plus_country"."geonameid", "countries_plus_country"."neighbours", "countries_plus_country"."equivalent_fips_code" FROM "countries_plus_country" WHERE "countries_plus_country"."iso" = 'US' LIMIT 21SELECT ••• FROM "countries_plus_country" WHERE "countries_plus_country"."iso" = 'US' LIMIT 21
0.14
Connection: default
Transaction status: Idle
/home/nathan/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" = 107 AND "lego_partrelationship"."rel_type" = 'S')SELECT ••• FROM "lego_partrelationship" WHERE ("lego_partrelationship"."part_child_id" = 107 AND "lego_partrelationship"."rel_type" = 'S')
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(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" = '107' 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" = '107' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
2 similar queries.
Duplicated 2 times.
0.46
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.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(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" = 107) LIMIT 1SELECT ••• FROM "rb_comments_pagelocked" WHERE ("rb_comments_pagelocked"."content_type_id" = 43 AND "rb_comments_pagelocked"."object_id" = 107) LIMIT 1
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/./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" = '107' 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" = '107' 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" = 107) LIMIT 21SELECT ••• FROM "lego_partmap" WHERE ("lego_partmap"."ext_system" = 'BO' AND "lego_partmap"."is_export_id" AND "lego_partmap"."part_id" = 107) LIMIT 21
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(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)
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" = 107) 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" = 107) GROUP BY "taggit_tag"."id"
0.86
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 #}