LEGO PART 18651 Technic Axle Pin 3L with Friction Ridges Lengthwise and 2L Axle
LEGO Parts
18651
Part Summary
Element
LDraw
Photo
Available Colors
Toggle Available Colors
This part appears in 1 Color. Click on a colored part below to see the Sets and MOCs that use part 18651 Technic Axle Pin 3L with Friction Ridges Lengthwise and 2L Axle 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
168.62 ms (66 queries
including 43 similar
and 12 duplicates
)
Query
Timeline
Time (ms)
Action
SELECT "lego_part"."id", "lego_part"."part_num", "lego_part"."name", "lego_part"."part_cat_id", "lego_part"."notes", "lego_part"."is_active", "lego_part"."search_vector", "lego_part"."ldraw_part_id", "lego_part"."bricklink_part_id", "lego_part"."ignore_color_errors", "lego_part"."part_material_id", "lego_part"."is_bricklink_minifig", "lego_part"."is_bricklink_book", "lego_part"."is_bricklink_gear", "lego_part"."show_generic_part_msg", "lego_partcategory"."id", "lego_partcategory"."name", "lego_partcategory"."part_count", "lego_partcategory"."img", "lego_partcategory"."slug", "lego_partmaterial"."id", "lego_partmaterial"."name", "lego_partoverlay"."part_id", "lego_partoverlay"."length", "lego_partstats"."part_id", "lego_partstats"."num_sets", "lego_partstats"."num_mocs", "lego_partstats"."num_set_parts", "lego_partstats"."num_moc_parts", "lego_partstats"."y1", "lego_partstats"."y2", "lego_partstats"."is_dirty" FROM "lego_part" INNER JOIN "lego_partcategory" ON ("lego_part"."part_cat_id" = "lego_partcategory"."id") INNER JOIN "lego_partmaterial" ON ("lego_part"."part_material_id" = "lego_partmaterial"."id") LEFT OUTER JOIN "lego_partoverlay" ON ("lego_part"."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON ("lego_part"."id" = "lego_partstats"."part_id") WHERE "lego_part"."part_num" = '18651' 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" = '18651' LIMIT 21
2 similar queries.
Duplicated 2 times.
0.64
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 (24202)) 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 (24202)) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
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_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 (24202)SELECT ••• FROM "lego_partcolorstats" WHERE "lego_partcolorstats"."part_id" IN (24202)
2 similar queries.
Duplicated 2 times.
0.21
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 (24202)SELECT ••• FROM "lego_partcost" WHERE "lego_partcost"."part_id" IN (24202)
2 similar queries.
Duplicated 2 times.
8.48
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 (24202))SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" IN (24202))
2 similar queries.
Duplicated 2 times.
0.11
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" = '18651' 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" = '18651' LIMIT 21
2 similar queries.
Duplicated 2 times.
0.42
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(362)
part = get_object_or_404(Part.all_objects, part_num=part_num)
SELECT "lego_element"."id", "lego_element"."part_id", "lego_element"."color_id", "lego_element"."element_id", "lego_element"."design_id", "lego_element"."descr", "lego_element"."color_descr", "lego_element"."last_download_attempt", "lego_element"."num_download_attempts", "lego_element"."is_export_id", "lego_element"."is_active" FROM "lego_element" INNER JOIN "lego_color" ON ("lego_element"."color_id" = "lego_color"."id") WHERE ("lego_element"."is_active" AND "lego_element"."part_id" IN (24202)) 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 (24202)) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
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(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 (24202)SELECT ••• FROM "lego_partcolorstats" WHERE "lego_partcolorstats"."part_id" IN (24202)
2 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(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 (24202)SELECT ••• FROM "lego_partcost" WHERE "lego_partcost"."part_id" IN (24202)
2 similar queries.
Duplicated 2 times.
0.07
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(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 (24202))SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" IN (24202))
2 similar queries.
Duplicated 2 times.
0.07
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(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" = 24202) ORDER BY "lego_partcolorstats"."num_set_parts" DESC LIMIT 1SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 24202) ORDER BY "lego_partcolorstats"."num_set_parts" DESCLIMIT 1
2 similar queries.
0.12
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(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" = 24202 AND "lego_partrelationship"."rel_type" = 'B' ANDNOT ("lego_partrelationship"."part_child_id" = 24202)) 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" = 24202 AND "lego_partrelationship"."rel_type" = 'B' ANDNOT ("lego_partrelationship"."part_child_id" = 24202)) ORDER BY "lego_partstats"."num_sets" DESC
4 similar queries.
0.42
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(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" = 24202) LIMIT 21SELECT ••• FROM "lego_partrelationshipflat" WHERE ("lego_partrelationshipflat"."am" ISNOT NULLAND "lego_partrelationshipflat"."part_id" = 24202) LIMIT 21
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(380)
alts_molds = sorted(part.get_related_alts_and_molds(), key=lambda x: x.part_num) # Follows nested alts/molds relationships/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/models/parts.py in get_related_alts_and_molds(829)
part_rel_flat = PartRelationshipFlat.objects.get(part=self, am__isnull=False)
SELECT "lego_partrelationshipflat"."part_id", "lego_partrelationshipflat"."a", "lego_partrelationshipflat"."m", "lego_partrelationshipflat"."p", "lego_partrelationshipflat"."am", "lego_partrelationshipflat"."ap", "lego_partrelationshipflat"."mp", "lego_partrelationshipflat"."amp" FROM "lego_partrelationshipflat" INNER JOIN "lego_part" ON ("lego_partrelationshipflat"."part_id" = "lego_part"."id") LEFT OUTER JOIN "lego_partstats" ON ("lego_part"."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationshipflat"."am" = 1138248 ANDNOT ("lego_partrelationshipflat"."part_id" = 24202)) ORDER BY "lego_partstats"."num_sets" DESCSELECT ••• FROM "lego_partrelationshipflat" INNER JOIN "lego_part" ON ("lego_partrelationshipflat"."part_id" = "lego_part"."id") LEFT OUTER JOIN "lego_partstats" ON ("lego_part"."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationshipflat"."am" = 1138248 ANDNOT ("lego_partrelationshipflat"."part_id" = 24202)) ORDER BY "lego_partstats"."num_sets" DESC
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(380)
alts_molds = sorted(part.get_related_alts_and_molds(), key=lambda x: x.part_num) # Follows nested alts/molds relationships/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/models/parts.py in get_related_alts_and_molds(835)
for p in parts:
SELECT "lego_part"."id", "lego_part"."part_num", "lego_part"."name", "lego_part"."part_cat_id", "lego_part"."notes", "lego_part"."is_active", "lego_part"."search_vector", "lego_part"."ldraw_part_id", "lego_part"."bricklink_part_id", "lego_part"."ignore_color_errors", "lego_part"."part_material_id", "lego_part"."is_bricklink_minifig", "lego_part"."is_bricklink_book", "lego_part"."is_bricklink_gear", "lego_part"."show_generic_part_msg" FROM "lego_part" WHERE "lego_part"."id" = 48705 LIMIT 21SELECT ••• FROM "lego_part" WHERE "lego_part"."id" = 48705 LIMIT 21
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(380)
alts_molds = sorted(part.get_related_alts_and_molds(), key=lambda x: x.part_num) # Follows nested alts/molds relationships/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/models/parts.py in get_related_alts_and_molds(837)
p.part.is_alt = False
SELECT "lego_partrelationship"."id", "lego_partrelationship"."part_parent_id", "lego_partrelationship"."part_child_id", "lego_partrelationship"."rel_type", T3."id", T3."part_num", T3."name", T3."part_cat_id", T3."notes", T3."is_active", T3."search_vector", T3."ldraw_part_id", T3."bricklink_part_id", T3."ignore_color_errors", T3."part_material_id", T3."is_bricklink_minifig", T3."is_bricklink_book", T3."is_bricklink_gear", T3."show_generic_part_msg", "lego_partcategory"."id", "lego_partcategory"."name", "lego_partcategory"."part_count", "lego_partcategory"."img", "lego_partcategory"."slug", "lego_partoverlay"."part_id", "lego_partoverlay"."length", "lego_partstats"."part_id", "lego_partstats"."num_sets", "lego_partstats"."num_mocs", "lego_partstats"."num_set_parts", "lego_partstats"."num_moc_parts", "lego_partstats"."y1", "lego_partstats"."y2", "lego_partstats"."is_dirty" FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_child_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_parent_id" = 24202 AND "lego_partrelationship"."rel_type" = 'P' ANDNOT ("lego_partrelationship"."part_child_id" = 24202)) 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" = 24202 AND "lego_partrelationship"."rel_type" = 'P' ANDNOT ("lego_partrelationship"."part_child_id" = 24202)) 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(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" = 24202 AND "lego_partrelationship"."rel_type" = 'T' ANDNOT ("lego_partrelationship"."part_child_id" = 24202)) 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" = 24202 AND "lego_partrelationship"."rel_type" = 'T' ANDNOT ("lego_partrelationship"."part_child_id" = 24202)) ORDER BY "lego_partstats"."num_sets" DESC
4 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(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" = 24202 AND "lego_partrelationship"."rel_type" = 'R' ANDNOT ("lego_partrelationship"."part_child_id" = 24202)) 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" = 24202 AND "lego_partrelationship"."rel_type" = 'R' ANDNOT ("lego_partrelationship"."part_child_id" = 24202)) 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(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" = 24202 AND "lego_partrelationship"."rel_type" = 'R' ANDNOT ("lego_partrelationship"."part_parent_id" = 24202)) 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" = 24202 AND "lego_partrelationship"."rel_type" = 'R' ANDNOT ("lego_partrelationship"."part_parent_id" = 24202)) ORDER BY "lego_partstats"."num_sets" DESC
2 similar queries.
0.49
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" = 24202 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" = 24202 AND "lego_partrelationship"."rel_type" = 'P') LIMIT 1
2 similar queries.
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(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" = 24202 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" = 24202 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" = 24202 AND "lego_partrelationship"."rel_type" = 'B' ANDNOT ("lego_partrelationship"."part_parent_id" = 24202)) 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" = 24202 AND "lego_partrelationship"."rel_type" = 'B' ANDNOT ("lego_partrelationship"."part_parent_id" = 24202)) ORDER BY "lego_partstats"."num_sets" DESC
2 similar queries.
0.40
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(388)
subpart_of = part.get_related_subparts_parents()/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/models/parts.py in get_related_subparts_parents(801)
return self.get_related_parents(PartRelationship.REL_TYPE_SUBPART)/home/nathan/rb/site/./lego/models/parts.py in get_related_parents(714)
return [p.part_parent for p in parts]
select lego_color.id, lego_color.id as color_id, name as color_name, rgb, sum(num_set_parts) as num_set_parts,
sum(num_moc_parts) as num_moc_parts, sum(num_sets) as num_sets, sum(num_mocs) as num_mocs,
min(y1) as y1, max(y2) as y2
from lego_color
left outer join lego_PartColorStats on lego_PartColorStats.color_id = lego_Color.id
and lego_PartColorStats.part_id = 24202
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 = 24202
where lego_color.id notin (-1)
group by 1, 2, 3, 4
0.36
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" = 24202) 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" = 24202) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
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(425)
elements_map = {e.color_id: e for e in elements}
SELECT "lego_partstats"."part_id", "lego_partstats"."num_sets", "lego_partstats"."num_mocs", "lego_partstats"."num_set_parts", "lego_partstats"."num_moc_parts", "lego_partstats"."y1", "lego_partstats"."y2", "lego_partstats"."is_dirty" FROM "lego_partstats" WHERE "lego_partstats"."part_id" = 48705 LIMIT 21SELECT ••• FROM "lego_partstats" WHERE "lego_partstats"."part_id" = 48705 LIMIT 21
0.11
Connection: default
Transaction status: In transaction
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(461)
all_molds.sort(key=lambda x: x.stats.y1)/home/nathan/rb/site/./lego/views/parts.py in <lambda>(461)
all_molds.sort(key=lambda x: x.stats.y1)/usr/lib/python3.10/contextlib.py in inner(79)
return func(*args, **kwds)/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
.__get__(instance, instance_type)
selectcase when s.set_type='Figure' then fs.year else s.year endasyear, count(*) as num_sets, min(s.id) as id
FROM lego_baseset s
INNER JOIN lego_inventory i on s.id = i.set_id
INNER JOIN lego_invpart ip on i.id = ip.inventory_id
left outer join lego_invset invs on s.id = invs.inv_set_id and s.set_type='Figure'
left outer join lego_inventory fi on invs.inventory_id = fi.id
left outer join lego_baseset fs on fi.set_id = fs.id and fs.set_type = 'Set'
WHERE s.is_active AND i.is_active AND ip.part_id = 24202
and (s.set_type = 'Set' or fs.year isnot null)
AND s.set_type IN ('Set', 'Figure')
group by 1selectcasewhen s.set_type='Figure' then fs.year else s.year endasyear, count(*) as num_sets, min(s.id) as id
FROM lego_baseset s
INNER JOIN lego_inventory i on s.id = i.set_id
INNER JOIN lego_invpart ip on i.id = ip.inventory_id
left outer join lego_invset invs on s.id = invs.inv_set_id and s.set_type='Figure'
left outer join lego_inventory fi on invs.inventory_id = fi.id
left outer join lego_baseset fs on fi.set_id = fs.id and fs.set_type = 'Set'
WHERE s.is_active AND i.is_active AND ip.part_id = 24202
and (s.set_type = 'Set' or fs.year isnot null)
AND s.set_type IN ('Set', 'Figure')
group by 1
111.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(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 6 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 6 LIMIT 21
18 similar queries.
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(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 572 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 572 LIMIT 21
18 similar queries.
0.12
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 172 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 172 LIMIT 21
18 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(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 21281 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 21281 LIMIT 21
18 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(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 29406 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 29406 LIMIT 21
18 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(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 33956 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 33956 LIMIT 21
18 similar queries.
0.09
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 78289 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 78289 LIMIT 21
18 similar queries.
0.09
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 113791 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 113791 LIMIT 21
18 similar queries.
0.09
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 147066 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 147066 LIMIT 21
18 similar queries.
0.09
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 192892 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 192892 LIMIT 21
18 similar queries.
0.09
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 169833 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 169833 LIMIT 21
18 similar queries.
0.08
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 299766 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 299766 LIMIT 21
18 similar queries.
0.09
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
selectcase when s.set_type='Figure' then fs.year else s.year endasyear, count(*) as num_sets, min(s.id) as id
FROM lego_baseset s
INNER JOIN lego_inventory i on s.id = i.set_id
INNER JOIN lego_invpart ip on i.id = ip.inventory_id
left outer join lego_invset invs on s.id = invs.inv_set_id and s.set_type='Figure'
left outer join lego_inventory fi on invs.inventory_id = fi.id
left outer join lego_baseset fs on fi.set_id = fs.id and fs.set_type = 'Set'
WHERE s.is_active AND i.is_active AND ip.part_id = 48705
and (s.set_type = 'Set' or fs.year isnot null)
AND s.set_type IN ('Set', 'Figure')
group by 1selectcasewhen s.set_type='Figure' then fs.year else s.year endasyear, count(*) as num_sets, min(s.id) as id
FROM lego_baseset s
INNER JOIN lego_inventory i on s.id = i.set_id
INNER JOIN lego_invpart ip on i.id = ip.inventory_id
left outer join lego_invset invs on s.id = invs.inv_set_id and s.set_type='Figure'
left outer join lego_inventory fi on invs.inventory_id = fi.id
left outer join lego_baseset fs on fi.set_id = fs.id and fs.set_type = 'Set'
WHERE s.is_active AND i.is_active AND ip.part_id = 48705
and (s.set_type = 'Set' or fs.year isnot null)
AND s.set_type IN ('Set', 'Figure')
group by 1
29.69
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 98339 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 98339 LIMIT 21
18 similar queries.
0.17
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 114335 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 114335 LIMIT 21
18 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(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 147096 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 147096 LIMIT 21
18 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(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 191368 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 191368 LIMIT 21
18 similar queries.
0.09
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 233797 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 233797 LIMIT 21
18 similar queries.
0.09
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_baseset"."id", "lego_baseset"."theme_id" FROM "lego_baseset" WHERE "lego_baseset"."id" = 299820 LIMIT 21SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 299820 LIMIT 21
18 similar queries.
0.09
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(502)
mold_timeline_data = DataPool(series=series)/home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
self._get_data()/home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
for tk_td_tuples, vqs in self._generate_vqs():/home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
for v in vqs:/home/nathan/rb/site/./lego/models/sets.py in __init__(549)
self.__original_theme_id = self.theme_id # Need actual value or changes can't be detected
SELECT "lego_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" = 24202 AND "lego_changelog"."model" = 'Part') ORDER BY "lego_changelog"."timestamp" DESCSELECT ••• FROM "lego_changelog" WHERE ("lego_changelog"."instance_id" = 24202 AND "lego_changelog"."model" = 'Part') ORDER BY "lego_changelog"."timestamp" DESC
1.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(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" = 24202 ORDER BY "lego_partmap"."is_export_id" DESC, "lego_partmap"."ext_id" ASCSELECT ••• FROM "lego_partmap" WHERE "lego_partmap"."part_id" = 24202 ORDER BY "lego_partmap"."is_export_id" DESC, "lego_partmap"."ext_id" ASC
0.23
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(600)
context['mappings'] = part.get_ext_mappings()/home/nathan/rb/site/./lego/models/parts.py in get_ext_mappings(1165)
for part_map in self.mappings.order_by('-is_export_id', 'ext_id'): # export first
SELECT "countries_plus_country"."iso", "countries_plus_country"."iso3", "countries_plus_country"."iso_numeric", "countries_plus_country"."fips", "countries_plus_country"."name", "countries_plus_country"."capital", "countries_plus_country"."area", "countries_plus_country"."population", "countries_plus_country"."continent", "countries_plus_country"."tld", "countries_plus_country"."currency_code", "countries_plus_country"."currency_symbol", "countries_plus_country"."currency_name", "countries_plus_country"."phone", "countries_plus_country"."postal_code_format", "countries_plus_country"."postal_code_regex", "countries_plus_country"."languages", "countries_plus_country"."geonameid", "countries_plus_country"."neighbours", "countries_plus_country"."equivalent_fips_code" FROM "countries_plus_country" WHERE "countries_plus_country"."iso" = 'US' LIMIT 21SELECT ••• FROM "countries_plus_country" WHERE "countries_plus_country"."iso" = 'US' LIMIT 21
0.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" = 24202 AND "lego_partrelationship"."rel_type" = 'S')SELECT ••• FROM "lego_partrelationship" WHERE ("lego_partrelationship"."part_child_id" = 24202 AND "lego_partrelationship"."rel_type" = 'S')
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/./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" = '24202' 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" = '24202' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
2 similar queries.
Duplicated 2 times.
0.27
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.12
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(609)
return render(request, 'parts/part_details.html', context)/home/nathan/rb/site/./rb_comments/templatetags/rb_comments_filters.py in get_page_locked_status(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" = 24202) LIMIT 1SELECT ••• FROM "rb_comments_pagelocked" WHERE ("rb_comments_pagelocked"."content_type_id" = 43 AND "rb_comments_pagelocked"."object_id" = 24202) 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" = '24202' 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" = '24202' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" ANDNOT "django_comments"."is_removed")
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(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" = 24202) LIMIT 21SELECT ••• FROM "lego_partmap" WHERE ("lego_partmap"."ext_system" = 'BO' AND "lego_partmap"."is_export_id" AND "lego_partmap"."part_id" = 24202) LIMIT 21
0.13
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(609)
return render(request, 'parts/part_details.html', context)/home/nathan/rb/site/./lego/models/parts.py in get_brickowl_num(1025)
return PartMap.part_to_brickowl_id(self.id)/home/nathan/rb/site/./lego/models/parts.py in part_to_brickowl_id(2011)
part_map = PartMap.objects.get(ext_system=rb.constants.systems.EXT_SYSTEM_BRICKOWL, part_id=part_id, is_export_id=True)
SELECT "lego_partcolorstats"."id", "lego_partcolorstats"."part_id", "lego_partcolorstats"."color_id", "lego_partcolorstats"."num_sets", "lego_partcolorstats"."num_mocs", "lego_partcolorstats"."num_set_parts", "lego_partcolorstats"."num_moc_parts", "lego_partcolorstats"."y1", "lego_partcolorstats"."y2", "lego_partcolorstats"."is_dirty", "lego_partcolorstats"."ignore_color_errors" FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 48705) ORDER BY "lego_partcolorstats"."num_set_parts" DESC LIMIT 1SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 48705) ORDER BY "lego_partcolorstats"."num_set_parts" DESCLIMIT 1
2 similar queries.
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(609)
return render(request, 'parts/part_details.html', context)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
return _render_part_in_color(part, sub_text=sub_text, request=request)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
part_img = part.get_img_dir()/home/nathan/rb/site/./lego/models/parts.py in get_img_dir(536)
most_common_color_id = self.get_most_common_color()/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/models/parts.py in get_most_common_color(323)
pcs = PartColorStats.objects.filter(part=self, num_sets__gt=0).order_by('-num_set_parts').first()
SELECT "lego_element"."id", "lego_element"."part_id", "lego_element"."color_id", "lego_element"."element_id", "lego_element"."design_id", "lego_element"."descr", "lego_element"."color_descr", "lego_element"."last_download_attempt", "lego_element"."num_download_attempts", "lego_element"."is_export_id", "lego_element"."is_active" FROM "lego_element" INNER JOIN "lego_color" ON ("lego_element"."color_id" = "lego_color"."id") WHERE ("lego_element"."is_active" AND "lego_element"."part_id" = 48705) 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" = 48705) 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(609)
return render(request, 'parts/part_details.html', context)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
return _render_part_in_color(part, sub_text=sub_text, request=request)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
part_img = part.get_img_dir()/home/nathan/rb/site/./lego/models/parts.py in get_img_dir(592)
res['img_url'] = self.get_element_image(color_id=color_id or most_common_color_id)/home/nathan/rb/site/./lego/models/parts.py in get_element_image(428)
element, element_id = self.get_element_with_image(color_id=color_id)/home/nathan/rb/site/./lego/models/parts.py in get_element_with_image(391)
for e in self.elements.all():
SELECT "lego_partcategory"."id", "lego_partcategory"."name", "lego_partcategory"."part_count", "lego_partcategory"."img", "lego_partcategory"."slug" FROM "lego_partcategory" WHERE "lego_partcategory"."id" = 53 LIMIT 21SELECT ••• FROM "lego_partcategory" WHERE "lego_partcategory"."id" = 53 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/templatetags/parts/drawing.py in render_part(134)
return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
return _render_part_in_color(part, sub_text=sub_text, request=request)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(96)
title += '\n' + part.part_cat.name
SELECT "lego_partoverlay"."part_id", "lego_partoverlay"."length" FROM "lego_partoverlay" WHERE "lego_partoverlay"."part_id" = 48705 LIMIT 21SELECT ••• FROM "lego_partoverlay" WHERE "lego_partoverlay"."part_id" = 48705 LIMIT 21
0.10
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
return part_details(request, slug1)/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
return fn(*args, **kw)/home/nathan/rb/site/./lego/views/parts.py in part_details(609)
return render(request, 'parts/part_details.html', context)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
result = method(instance, *args, **kwargs)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
return _render_part_in_color(part, sub_text=sub_text, request=request)/home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(100)
if part.get_overlay():/home/nathan/rb/site/./lego/models/parts.py in get_overlay(308)
return self.overlay
SELECTDISTINCT "taggit_tag"."id", "taggit_tag"."name", "taggit_tag"."slug", COUNT("lego_part"."id") AS "count" FROM "taggit_tag" INNER JOIN "taggit_taggeditem" ON ("taggit_tag"."id" = "taggit_taggeditem"."tag_id") INNER JOIN "django_content_type" ON ("taggit_taggeditem"."content_type_id" = "django_content_type"."id") LEFT OUTER JOIN "lego_part" ON ("taggit_taggeditem"."object_id" = "lego_part"."id" AND ("taggit_taggeditem"."content_type_id" IN (43,48))) INNER JOIN "taggit_taggeditem" T5 ON ("taggit_tag"."id" = T5."tag_id") INNER JOIN "lego_part" T6 ON (T5."object_id" = T6."id" AND (T5."content_type_id" IN (43,48))) WHERE ("django_content_type"."app_label" = 'lego' AND "django_content_type"."model" = 'part' AND T6."id" = 24202) 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" = 24202) GROUP BY "taggit_tag"."id"
4.98
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 #}