This part appears in 21 Colors. Click on a colored part below to see the Sets and MOCs that use part 18654 Technic Pin Connector Round 1L [Beam] 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.
The definition of beam is something "long" that connects two sides. In order to be long, it would have to be more than one unit of measure.
Using TLG terms to define the category would be confusing at times. For example, TLG calls part 32557 a Crossblock. 32557 is a part that could fit in the Connector or Beam category. It is up to the individual catalog creator which to choose.
Since the shape of 18654 is more commonly known as connector, I would not move it from the Connector category. However, adding the words "Half Beam"(since it is half the size of 43857) to the description would bring it up in general searches for Beams. I will do that, and also make note of the relationship to 43857.
I've been thinking about it, and I agree that it cannot be considered a half beam because there are various lengths of beams.
There are several factors that need to be considered that deal with more than just this part. I would like to take this discussion to the rebrickable Forum at this point.
This part shouldn't be stocked under connectors, because it doesn't connect anything 8'), and thus it's sometimes hard to find when browsing for it in the own parts inventory.
Proposal: move to "Technic Beams", since TLG also calls the thingy a "Beam 1x1". Alternatively: "Technic Special).
default
30.12 ms (56 queries
including 40 similar
and 20 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" = '18654' 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" = '18654' LIMIT 21
2 similar queries.
Duplicated 2 times.
0.61
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 (23341)) 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 (23341)) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
2 similar queries.
Duplicated 2 times.
0.30
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 (23341)SELECT ••• FROM "lego_partcolorstats" WHERE "lego_partcolorstats"."part_id" IN (23341)
2 similar queries.
Duplicated 2 times.
0.35
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 (23341)SELECT ••• FROM "lego_partcost" WHERE "lego_partcost"."part_id" IN (23341)
2 similar queries.
Duplicated 2 times.
0.22
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 (23341))SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" IN (23341))
2 similar queries.
Duplicated 2 times.
8.59
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" = '18654' 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" = '18654' LIMIT 21
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_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 (23341)) 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 (23341)) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
2 similar queries.
Duplicated 2 times.
0.21
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 (23341)SELECT ••• FROM "lego_partcolorstats" WHERE "lego_partcolorstats"."part_id" IN (23341)
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 (23341)SELECT ••• FROM "lego_partcost" WHERE "lego_partcost"."part_id" IN (23341)
2 similar queries.
Duplicated 2 times.
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(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 (23341))SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" IN (23341))
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" = 23341) ORDER BY "lego_partcolorstats"."num_set_parts" DESC LIMIT 1SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 23341) ORDER BY "lego_partcolorstats"."num_set_parts" DESCLIMIT 1
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(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" = 23341 AND "lego_partrelationship"."rel_type" = 'B' ANDNOT ("lego_partrelationship"."part_child_id" = 23341)) 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" = 23341 AND "lego_partrelationship"."rel_type" = 'B' ANDNOT ("lego_partrelationship"."part_child_id" = 23341)) ORDER BY "lego_partstats"."num_sets" DESC
4 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(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" = 23341) LIMIT 21SELECT ••• FROM "lego_partrelationshipflat" WHERE ("lego_partrelationshipflat"."am" ISNOT NULLAND "lego_partrelationshipflat"."part_id" = 23341) 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(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_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" = 23341 AND "lego_partrelationship"."rel_type" = 'P' ANDNOT ("lego_partrelationship"."part_child_id" = 23341)) 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" = 23341 AND "lego_partrelationship"."rel_type" = 'P' ANDNOT ("lego_partrelationship"."part_child_id" = 23341)) 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(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" = 23341 AND "lego_partrelationship"."rel_type" = 'T' ANDNOT ("lego_partrelationship"."part_child_id" = 23341)) 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" = 23341 AND "lego_partrelationship"."rel_type" = 'T' ANDNOT ("lego_partrelationship"."part_child_id" = 23341)) 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(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" = 23341 AND "lego_partrelationship"."rel_type" = 'R' ANDNOT ("lego_partrelationship"."part_child_id" = 23341)) 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" = 23341 AND "lego_partrelationship"."rel_type" = 'R' ANDNOT ("lego_partrelationship"."part_child_id" = 23341)) 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" = 23341 AND "lego_partrelationship"."rel_type" = 'R' ANDNOT ("lego_partrelationship"."part_parent_id" = 23341)) 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" = 23341 AND "lego_partrelationship"."rel_type" = 'R' ANDNOT ("lego_partrelationship"."part_parent_id" = 23341)) ORDER BY "lego_partstats"."num_sets" DESC
2 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(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" = 23341 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" = 23341 AND "lego_partrelationship"."rel_type" = 'P') LIMIT 1
2 similar queries.
0.47
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" = 23341 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" = 23341 AND "lego_partrelationship"."rel_type" = 'T') 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(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" = 23341 AND "lego_partrelationship"."rel_type" = 'B' ANDNOT ("lego_partrelationship"."part_parent_id" = 23341)) 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" = 23341 AND "lego_partrelationship"."rel_type" = 'B' ANDNOT ("lego_partrelationship"."part_parent_id" = 23341)) ORDER BY "lego_partstats"."num_sets" DESC
2 similar queries.
0.37
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 = 23341
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 = 23341
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" = 23341) 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" = 23341) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
0.21
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" = 23341 AND "lego_changelog"."model" = 'Part') ORDER BY "lego_changelog"."timestamp" DESCSELECT ••• FROM "lego_changelog" WHERE ("lego_changelog"."instance_id" = 23341 AND "lego_changelog"."model" = 'Part') ORDER BY "lego_changelog"."timestamp" DESC
1.35
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" = 23341 ORDER BY "lego_partmap"."is_export_id" DESC, "lego_partmap"."ext_id" ASCSELECT ••• FROM "lego_partmap" WHERE "lego_partmap"."part_id" = 23341 ORDER BY "lego_partmap"."is_export_id" DESC, "lego_partmap"."ext_id" ASC
0.30
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" = 23341 AND "lego_partrelationship"."rel_type" = 'S')SELECT ••• FROM "lego_partrelationship" WHERE ("lego_partrelationship"."part_child_id" = 23341 AND "lego_partrelationship"."rel_type" = 'S')
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_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" = '23341' 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" = '23341' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
2 similar queries.
Duplicated 2 times.
0.51
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" = 23341) LIMIT 1SELECT ••• FROM "rb_comments_pagelocked" WHERE ("rb_comments_pagelocked"."content_type_id" = 43 AND "rb_comments_pagelocked"."object_id" = 23341) 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 ("auth_user_groups"."user_id") AS "_prefetch_related_val_user_id", "auth_group"."id", "auth_group"."name" FROM "auth_group" INNER JOIN "auth_user_groups" ON ("auth_group"."id" = "auth_user_groups"."group_id") WHERE "auth_user_groups"."user_id" IN (5434, 15093, 28114, 29261)SELECT ••• FROM "auth_group" INNER JOIN "auth_user_groups" ON ("auth_group"."id" = "auth_user_groups"."group_id") WHERE "auth_user_groups"."user_id" IN (5434, 15093, 28114, 29261)
2 similar queries.
Duplicated 2 times.
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/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(71)
qs = self.get_queryset(context)/home/nathan/rb/site/./rb_comments/templatetags/rb_comments_filters.py in get_queryset(45)
return qs[:50], len(qs)
14
{% endcomment %}
15
{% if not comment_list %}
16
{# Get comments for a page #}
17
{% get_rb_comment_list for page as comment_list %}
SELECT COUNT(*) AS "__count" FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 43 AND "django_comments"."object_pk" = '23341' 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" = '23341' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
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(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 ("auth_user_groups"."user_id") AS "_prefetch_related_val_user_id", "auth_group"."id", "auth_group"."name" FROM "auth_group" INNER JOIN "auth_user_groups" ON ("auth_group"."id" = "auth_user_groups"."group_id") WHERE "auth_user_groups"."user_id" IN (5434, 15093, 28114, 29261)SELECT ••• FROM "auth_group" INNER JOIN "auth_user_groups" ON ("auth_group"."id" = "auth_user_groups"."group_id") WHERE "auth_user_groups"."user_id" IN (5434, 15093, 28114, 29261)
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(609)
return render(request, 'parts/part_details.html', context)
89
{% with cache_timeout=user.is_authenticated|yesno:"0,300" %}
SELECT "avatar_avatar"."id", "avatar_avatar"."user_id", "avatar_avatar"."primary", "avatar_avatar"."avatar", "avatar_avatar"."date_uploaded" FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 5434 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 5434 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
5 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(609)
return render(request, 'parts/part_details.html', context)/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
avatar_url = provider.get_avatar_url(user, size)/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
avatar = get_primary_avatar(user, size)/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]
SELECT "accounts_usersetting"."id", "accounts_usersetting"."user_id", "accounts_usersetting"."name", "accounts_usersetting"."value" FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 5434) LIMIT 21SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 5434) LIMIT 21
3 similar queries.
Duplicated 2 times.
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/./accounts/models/user_extras.py in is_public_plan(654)
return self.get_privacy_option('is_public_plan')/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_option(269)
options = self.get_privacy_options()/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_options(263)
options = UserSetting.objects.get(user=self, name=UserSetting.USER_SETTING_PRIVACY_OPTIONS)
SELECT "avatar_avatar"."id", "avatar_avatar"."user_id", "avatar_avatar"."primary", "avatar_avatar"."avatar", "avatar_avatar"."date_uploaded" FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 15093 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 15093 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
5 similar queries.
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/./avatar/templatetags/avatar_tags.py in avatar_url(33)
avatar_url = provider.get_avatar_url(user, size)/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
avatar = get_primary_avatar(user, size)/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]
SELECT "accounts_usersetting"."id", "accounts_usersetting"."user_id", "accounts_usersetting"."name", "accounts_usersetting"."value" FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 15093) LIMIT 21SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 15093) LIMIT 21
3 similar queries.
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/./accounts/models/user_extras.py in is_public_plan(654)
return self.get_privacy_option('is_public_plan')/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_option(269)
options = self.get_privacy_options()/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_options(263)
options = UserSetting.objects.get(user=self, name=UserSetting.USER_SETTING_PRIVACY_OPTIONS)
SELECT "avatar_avatar"."id", "avatar_avatar"."user_id", "avatar_avatar"."primary", "avatar_avatar"."avatar", "avatar_avatar"."date_uploaded" FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 5434 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 5434 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
5 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(609)
return render(request, 'parts/part_details.html', context)/home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
avatar_url = provider.get_avatar_url(user, size)/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
avatar = get_primary_avatar(user, size)/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]
SELECT "accounts_usersetting"."id", "accounts_usersetting"."user_id", "accounts_usersetting"."name", "accounts_usersetting"."value" FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 5434) LIMIT 21SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 5434) LIMIT 21
3 similar queries.
Duplicated 2 times.
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/./accounts/models/user_extras.py in is_public_plan(654)
return self.get_privacy_option('is_public_plan')/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_option(269)
options = self.get_privacy_options()/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_options(263)
options = UserSetting.objects.get(user=self, name=UserSetting.USER_SETTING_PRIVACY_OPTIONS)
SELECT "avatar_avatar"."id", "avatar_avatar"."user_id", "avatar_avatar"."primary", "avatar_avatar"."avatar", "avatar_avatar"."date_uploaded" FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 28114 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 28114 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
5 similar queries.
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/./avatar/templatetags/avatar_tags.py in avatar_url(33)
avatar_url = provider.get_avatar_url(user, size)/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
avatar = get_primary_avatar(user, size)/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]
SELECT "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined", "lego_designer"."user_ptr_id", "lego_designer"."auto_approve", "lego_designer"."num_auto_approved", "lego_designer"."last_checked_for_moc_errors" FROM "lego_designer" INNER JOIN "auth_user" ON ("lego_designer"."user_ptr_id" = "auth_user"."id") WHERE "lego_designer"."user_ptr_id" = 28114 LIMIT 21SELECT ••• FROM "lego_designer" INNER JOIN "auth_user" ON ("lego_designer"."user_ptr_id" = "auth_user"."id") WHERE "lego_designer"."user_ptr_id" = 28114 LIMIT 21
2 similar queries.
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/./accounts/models/user_extras.py in get_rolename(618)
elif hasattr(self, 'designer') and Moc.objects.filter(designer=self.designer).exists():
57
{% elif page.is_moc and page.designer_id == comment.user_id %}
58
<span class="label label-dark-blue" title="This user designed this MOC">Designed this MOC</span>
SELECT "avatar_avatar"."id", "avatar_avatar"."user_id", "avatar_avatar"."primary", "avatar_avatar"."avatar", "avatar_avatar"."date_uploaded" FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 29261 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 29261 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
5 similar queries.
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/./avatar/templatetags/avatar_tags.py in avatar_url(33)
avatar_url = provider.get_avatar_url(user, size)/home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
avatar = get_primary_avatar(user, size)/home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]
SELECT "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined", "lego_designer"."user_ptr_id", "lego_designer"."auto_approve", "lego_designer"."num_auto_approved", "lego_designer"."last_checked_for_moc_errors" FROM "lego_designer" INNER JOIN "auth_user" ON ("lego_designer"."user_ptr_id" = "auth_user"."id") WHERE "lego_designer"."user_ptr_id" = 29261 LIMIT 21SELECT ••• FROM "lego_designer" INNER JOIN "auth_user" ON ("lego_designer"."user_ptr_id" = "auth_user"."id") WHERE "lego_designer"."user_ptr_id" = 29261 LIMIT 21
2 similar queries.
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/./accounts/models/user_extras.py in get_rolename(618)
elif hasattr(self, 'designer') and Moc.objects.filter(designer=self.designer).exists():
57
{% elif page.is_moc and page.designer_id == comment.user_id %}
58
<span class="label label-dark-blue" title="This user designed this MOC">Designed this MOC</span>
SELECT 1 AS "a" FROM "lego_moc" INNER JOIN "lego_baseset" ON ("lego_moc"."baseset_ptr_id" = "lego_baseset"."id") WHERE ("lego_baseset"."is_active" AND "lego_moc"."designer_id" = 29261) LIMIT 1SELECT ••• FROM "lego_moc" INNER JOIN "lego_baseset" ON ("lego_moc"."baseset_ptr_id" = "lego_baseset"."id") WHERE ("lego_baseset"."is_active" AND "lego_moc"."designer_id" = 29261) LIMIT 1
2 similar queries.
Duplicated 2 times.
0.21
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/./accounts/models/user_extras.py in get_rolename(618)
elif hasattr(self, 'designer') and Moc.objects.filter(designer=self.designer).exists():
57
{% elif page.is_moc and page.designer_id == comment.user_id %}
58
<span class="label label-dark-blue" title="This user designed this MOC">Designed this MOC</span>
SELECT 1 AS "a" FROM "lego_moc" INNER JOIN "lego_baseset" ON ("lego_moc"."baseset_ptr_id" = "lego_baseset"."id") WHERE ("lego_baseset"."is_active" AND "lego_moc"."designer_id" = 29261) LIMIT 1SELECT ••• FROM "lego_moc" INNER JOIN "lego_baseset" ON ("lego_moc"."baseset_ptr_id" = "lego_baseset"."id") WHERE ("lego_baseset"."is_active" AND "lego_moc"."designer_id" = 29261) LIMIT 1
2 similar queries.
Duplicated 2 times.
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/./accounts/models/user_extras.py in get_rolename(618)
elif hasattr(self, 'designer') and Moc.objects.filter(designer=self.designer).exists():
57
{% elif page.is_moc and page.designer_id == comment.user_id %}
58
<span class="label label-dark-blue" title="This user designed this MOC">Designed this MOC</span>
SELECT "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" = 23341) LIMIT 21SELECT ••• FROM "lego_partmap" WHERE ("lego_partmap"."ext_system" = 'BO' AND "lego_partmap"."is_export_id" AND "lego_partmap"."part_id" = 23341) LIMIT 21
0.21
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" = 23341) 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" = 23341) GROUP BY "taggit_tag"."id"
6.96
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 #}
Using TLG terms to define the category would be confusing at times. For example, TLG calls part 32557 a Crossblock. 32557 is a part that could fit in the Connector or Beam category. It is up to the individual catalog creator which to choose.
Since the shape of 18654 is more commonly known as connector, I would not move it from the Connector category. However, adding the words "Half Beam"(since it is half the size of 43857) to the description would bring it up in general searches for Beams. I will do that, and also make note of the relationship to 43857.
Half beams are normally half the width of regular beams/lift arms as measured perpendicular to the pin holes, as opposed to half the length.
Adding to the description [Beam] or [Beam 1x1] would be more appropriate.
There are several factors that need to be considered that deal with more than just this part. I would like to take this discussion to the rebrickable Forum at this point.