Showing 100 of 123 unique parts/colors ( total quantity)
DJDT

Time

Resource usage

Resource Value
User CPU time 435.520 msec
System CPU time 9.875 msec
Total CPU time 445.395 msec
Elapsed time 486.794 msec
Context switches 485 voluntary, 2 involuntary

Browser timing

Timing attribute Timeline Milliseconds since navigation start (+length)

SQL queries from 1 connection

  • default 39.33 ms (28 queries including 14 similar )
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" = 'technic-steering-suspension-and-engine'
 LIMIT
21
SELECT ••• 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" = 'technic-steering-suspension-and-engine' LIMIT 21
0.76

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_partcategory"."id",
       "lego_partcategory"."name",
       "lego_partcategory"."part_count",
       "lego_partcategory"."img",
       "lego_partcategory"."slug"
  FROM
"lego_partcategory"
 WHERE
"lego_partcategory"."slug" = 'technic-steering-suspension-and-engine'
 LIMIT
21
SELECT ••• FROM "lego_partcategory" WHERE "lego_partcategory"."slug" = 'technic-steering-suspension-and-engine' LIMIT 21
0.12

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(131)
  part_cat = get_or_none(PartCategory.objects, slug=slug)

/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"
  FROM
"lego_part"
 INNER JOIN
"lego_partstats"
    ON
("lego_part"."id" = "lego_partstats"."part_id")
 WHERE
("lego_part"."is_active" AND "lego_partstats"."num_sets" > 0 AND "lego_part"."part_cat_id" IN (25))
 LIMIT
1000
SELECT ••• FROM "lego_part" INNER JOIN "lego_partstats" ON ("lego_part"."id" = "lego_partstats"."part_id") WHERE ("lego_part"."is_active" AND "lego_partstats"."num_sets" > 0 AND "lego_part"."part_cat_id" IN (25)) LIMIT 1000
9.71

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(146)
  search_results = get_part_search(request, params)

/home/nathan/rb/site/./lego/views/search.py in get_part_search(179)
  results = sort_user_parts(request, results)

/home/nathan/rb/site/./lego/filters.py in sort_user_parts(1588)
  return PartSorter.sort_user_parts(user_parts, sort_by, sort_dir, prefix=prefix, group_by=group_by, group_by_db=group_by_db)

/home/nathan/rb/site/./lego/constants/parts.py in sort_user_parts(29)
  if len(parts.select_related(None).prefetch_related(None)) <= 1:

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_partstats"
    ON
("lego_part"."id" = "lego_partstats"."part_id")
 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")
 WHERE
("lego_part"."is_active" AND "lego_partstats"."num_sets" > 0 AND "lego_part"."part_cat_id" IN (25))
 LIMIT
1000
SELECT ••• FROM "lego_part" INNER JOIN "lego_partstats" ON ("lego_part"."id" = "lego_partstats"."part_id") 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") WHERE ("lego_part"."is_active" AND "lego_partstats"."num_sets" > 0 AND "lego_part"."part_cat_id" IN (25)) LIMIT 1000
0.90

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(146)
  search_results = get_part_search(request, params)

/home/nathan/rb/site/./lego/views/search.py in get_part_search(179)
  results = sort_user_parts(request, results)

/home/nathan/rb/site/./lego/filters.py in sort_user_parts(1588)
  return PartSorter.sort_user_parts(user_parts, sort_by, sort_dir, prefix=prefix, group_by=group_by, group_by_db=group_by_db)

/home/nathan/rb/site/./lego/constants/parts.py in sort_user_parts(53)
  return sorted(parts, key=lambda x: x.sort_by_part_color(group_by=group_by), reverse=reverse)

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 (31945, 2599, 8752, 69065, 59788, 16347, 36982, 64438, 12750, 7927, 20392, 22508, 7907, 23938, 68304, 21454, 22545, 11596, 30299, 6074, 30298, 5008, 2954, 6877, 69064, 66084, 21736, 23873, 68303, 24198, 10230, 64440, 8610, 20174, 41865, 17097, 62745, 41070, 52627, 24136, 23712, 41862, 71099, 41861, 71100, 41863, 23523, 62884, 67010, 15885, 17913, 56918, 65048, 22327, 20143, 72517, 3871, 66060, 53052, 56178, 62142, 17205, 61826, 37966, 37967, 49844, 148, 12840, 19775, 68301, 13554, 31379, 5929, 41044, 10219, 16561, 19638, 15602, 8462, 15481, 12603, 17709, 24173, 12680, 50044, 10179, 50045, 16368, 6135, 21416, 22155, 19733, 24230, 22142, 53050, 24093, 23043, 16715, 19810, 61830))
 ORDER BY
"lego_color"."name" ASC, "lego_element"."element_id" ASC
SELECT ••• 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 (31945, 2599, 8752, 69065, 59788, 16347, 36982, 64438, 12750, 7927, 20392, 22508, 7907, 23938, 68304, 21454, 22545, 11596, 30299, 6074, 30298, 5008, 2954, 6877, 69064, 66084, 21736, 23873, 68303, 24198, 10230, 64440, 8610, 20174, 41865, 17097, 62745, 41070, 52627, 24136, 23712, 41862, 71099, 41861, 71100, 41863, 23523, 62884, 67010, 15885, 17913, 56918, 65048, 22327, 20143, 72517, 3871, 66060, 53052, 56178, 62142, 17205, 61826, 37966, 37967, 49844, 148, 12840, 19775, 68301, 13554, 31379, 5929, 41044, 10219, 16561, 19638, 15602, 8462, 15481, 12603, 17709, 24173, 12680, 50044, 10179, 50045, 16368, 6135, 21416, 22155, 19733, 24230, 22142, 53050, 24093, 23043, 16715, 19810, 61830)) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
2.02

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(202)
  prefetch_related_objects(search_results, *Part.pr)

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 (31945, 2599, 8752, 69065, 59788, 16347, 36982, 64438, 12750, 7927, 20392, 22508, 7907, 23938, 68304, 21454, 22545, 11596, 30299, 6074, 30298, 5008, 2954, 6877, 69064, 66084, 21736, 23873, 68303, 24198, 10230, 64440, 8610, 20174, 41865, 17097, 62745, 41070, 52627, 24136, 23712, 41862, 71099, 41861, 71100, 41863, 23523, 62884, 67010, 15885, 17913, 56918, 65048, 22327, 20143, 72517, 3871, 66060, 53052, 56178, 62142, 17205, 61826, 37966, 37967, 49844, 148, 12840, 19775, 68301, 13554, 31379, 5929, 41044, 10219, 16561, 19638, 15602, 8462, 15481, 12603, 17709, 24173, 12680, 50044, 10179, 50045, 16368, 6135, 21416, 22155, 19733, 24230, 22142, 53050, 24093, 23043, 16715, 19810, 61830)
SELECT ••• FROM "lego_partcolorstats" WHERE "lego_partcolorstats"."part_id" IN (31945, 2599, 8752, 69065, 59788, 16347, 36982, 64438, 12750, 7927, 20392, 22508, 7907, 23938, 68304, 21454, 22545, 11596, 30299, 6074, 30298, 5008, 2954, 6877, 69064, 66084, 21736, 23873, 68303, 24198, 10230, 64440, 8610, 20174, 41865, 17097, 62745, 41070, 52627, 24136, 23712, 41862, 71099, 41861, 71100, 41863, 23523, 62884, 67010, 15885, 17913, 56918, 65048, 22327, 20143, 72517, 3871, 66060, 53052, 56178, 62142, 17205, 61826, 37966, 37967, 49844, 148, 12840, 19775, 68301, 13554, 31379, 5929, 41044, 10219, 16561, 19638, 15602, 8462, 15481, 12603, 17709, 24173, 12680, 50044, 10179, 50045, 16368, 6135, 21416, 22155, 19733, 24230, 22142, 53050, 24093, 23043, 16715, 19810, 61830)
1.51

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(202)
  prefetch_related_objects(search_results, *Part.pr)

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 (31945, 2599, 8752, 69065, 59788, 16347, 36982, 64438, 12750, 7927, 20392, 22508, 7907, 23938, 68304, 21454, 22545, 11596, 30299, 6074, 30298, 5008, 2954, 6877, 69064, 66084, 21736, 23873, 68303, 24198, 10230, 64440, 8610, 20174, 41865, 17097, 62745, 41070, 52627, 24136, 23712, 41862, 71099, 41861, 71100, 41863, 23523, 62884, 67010, 15885, 17913, 56918, 65048, 22327, 20143, 72517, 3871, 66060, 53052, 56178, 62142, 17205, 61826, 37966, 37967, 49844, 148, 12840, 19775, 68301, 13554, 31379, 5929, 41044, 10219, 16561, 19638, 15602, 8462, 15481, 12603, 17709, 24173, 12680, 50044, 10179, 50045, 16368, 6135, 21416, 22155, 19733, 24230, 22142, 53050, 24093, 23043, 16715, 19810, 61830)
SELECT ••• FROM "lego_partcost" WHERE "lego_partcost"."part_id" IN (31945, 2599, 8752, 69065, 59788, 16347, 36982, 64438, 12750, 7927, 20392, 22508, 7907, 23938, 68304, 21454, 22545, 11596, 30299, 6074, 30298, 5008, 2954, 6877, 69064, 66084, 21736, 23873, 68303, 24198, 10230, 64440, 8610, 20174, 41865, 17097, 62745, 41070, 52627, 24136, 23712, 41862, 71099, 41861, 71100, 41863, 23523, 62884, 67010, 15885, 17913, 56918, 65048, 22327, 20143, 72517, 3871, 66060, 53052, 56178, 62142, 17205, 61826, 37966, 37967, 49844, 148, 12840, 19775, 68301, 13554, 31379, 5929, 41044, 10219, 16561, 19638, 15602, 8462, 15481, 12603, 17709, 24173, 12680, 50044, 10179, 50045, 16368, 6135, 21416, 22155, 19733, 24230, 22142, 53050, 24093, 23043, 16715, 19810, 61830)
1.51

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(202)
  prefetch_related_objects(search_results, *Part.pr)

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 (31945, 2599, 8752, 69065, 59788, 16347, 36982, 64438, 12750, 7927, 20392, 22508, 7907, 23938, 68304, 21454, 22545, 11596, 30299, 6074, 30298, 5008, 2954, 6877, 69064, 66084, 21736, 23873, 68303, 24198, 10230, 64440, 8610, 20174, 41865, 17097, 62745, 41070, 52627, 24136, 23712, 41862, 71099, 41861, 71100, 41863, 23523, 62884, 67010, 15885, 17913, 56918, 65048, 22327, 20143, 72517, 3871, 66060, 53052, 56178, 62142, 17205, 61826, 37966, 37967, 49844, 148, 12840, 19775, 68301, 13554, 31379, 5929, 41044, 10219, 16561, 19638, 15602, 8462, 15481, 12603, 17709, 24173, 12680, 50044, 10179, 50045, 16368, 6135, 21416, 22155, 19733, 24230, 22142, 53050, 24093, 23043, 16715, 19810, 61830))
SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" IN (31945, 2599, 8752, 69065, 59788, 16347, 36982, 64438, 12750, 7927, 20392, 22508, 7907, 23938, 68304, 21454, 22545, 11596, 30299, 6074, 30298, 5008, 2954, 6877, 69064, 66084, 21736, 23873, 68303, 24198, 10230, 64440, 8610, 20174, 41865, 17097, 62745, 41070, 52627, 24136, 23712, 41862, 71099, 41861, 71100, 41863, 23523, 62884, 67010, 15885, 17913, 56918, 65048, 22327, 20143, 72517, 3871, 66060, 53052, 56178, 62142, 17205, 61826, 37966, 37967, 49844, 148, 12840, 19775, 68301, 13554, 31379, 5929, 41044, 10219, 16561, 19638, 15602, 8462, 15481, 12603, 17709, 24173, 12680, 50044, 10179, 50045, 16368, 6135, 21416, 22155, 19733, 24230, 22142, 53050, 24093, 23043, 16715, 19810, 61830))
1.41

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(202)
  prefetch_related_objects(search_results, *Part.pr)

select 0 as id,
       part_id,
       color_id
  from
lego_partcolorstats a
 where
num_set_parts = (
        select max(num_set_parts)
          from
lego_partcolorstats b
         where
a.part_id=b.part_id
           and
num_sets>0
       )
   and
num_sets>0
   and
part_id in (31945,2599,8752,69065,59788,16347,36982,64438,12750,7927,20392,22508,7907,23938,68304,21454,22545,11596,30299,6074,30298,5008,2954,6877,69064,66084,21736,23873,68303,24198,10230,64440,8610,20174,41865,17097,62745,41070,52627,24136,23712,41862,71099,41861,71100,41863,23523,62884,67010,15885,17913,56918,65048,22327,20143,72517,3871,66060,53052,56178,62142,17205,61826,37966,37967,49844,148,12840,19775,68301,13554,31379,5929,41044,10219,16561,19638,15602,8462,15481,12603,17709,24173,12680,50044,10179,50045,16368,6135,21416,22155,19733,24230,22142,53050,24093,23043,16715,19810,61830)
select 0 as id, part_id, color_id from lego_partcolorstats a where num_set_parts = (select max(num_set_parts) from lego_partcolorstats b where a.part_id=b.part_id and num_sets>0) and num_sets>0 and part_id in (31945,2599,8752,69065,59788,16347,36982,64438,12750,7927,20392,22508,7907,23938,68304,21454,22545,11596,30299,6074,30298,5008,2954,6877,69064,66084,21736,23873,68303,24198,10230,64440,8610,20174,41865,17097,62745,41070,52627,24136,23712,41862,71099,41861,71100,41863,23523,62884,67010,15885,17913,56918,65048,22327,20143,72517,3871,66060,53052,56178,62142,17205,61826,37966,37967,49844,148,12840,19775,68301,13554,31379,5929,41044,10219,16561,19638,15602,8462,15481,12603,17709,24173,12680,50044,10179,50045,16368,6135,21416,22155,19733,24230,22142,53050,24093,23043,16715,19810,61830)
1.60

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(207)
  Part.attach_most_common_color_to_parts(search_results)

/home/nathan/rb/site/./lego/models/parts.py in attach_most_common_color_to_parts(341)
  pcs_map = {p.part_id:p.color_id for p in pcs}

SELECT DISTINCT
    ON
("lego_partcolorstats"."color_id") "lego_partcolorstats"."color_id"
  FROM
"lego_partcolorstats"
 WHERE
("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."y2" >= 2021)
SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."y2" >= 2021)
9.52

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(330)
  context['adv_form'] = AdvancedSearchPartsForm(params.copy(), user=request.user)

/home/nathan/rb/site/./lego/forms/parts.py in __init__(672)
  self.fields['exists_in_color'].choices = Color.get_color_options(True)

/home/nathan/rb/site/./lego/models/colors.py in get_color_options(105)
  current = cls.get_current_colors()

/home/nathan/rb/site/./cache/utils.py in cache_wrapper(104)
  caches[cache_key].set(method_key, result)

/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/client/hash.py in set(344)
  return self._run_cmd("set", key, False, *args, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/client/hash.py in _run_cmd(322)
  return self._safely_run_func(client, func, default_val, *args, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/client/hash.py in _safely_run_func(211)
  result = func(*args, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/client/base.py in set(1424)
  return client.set(key, value, expire=expire, noreply=noreply, flags=flags)

/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/client/base.py in set(475)
  return self._store_cmd(b"set", {key: value}, expire, noreply, flags=flags)[key]

/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/client/base.py in _store_cmd(1196)
  data, data_flags = self.serde.serialize(key, data)

/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/serde.py in serialize(119)
  return self._serialize_func(key, value)

/home/nathan/venv_rb310/lib/python3.10/site-packages/pymemcache/serde.py in _python_memcache_serializer(58)
  pickler.dump(value)

SELECT "lego_color"."id",
       "lego_color"."name",
       "lego_color"."rgb",
       "lego_color"."is_trans",
       "lego_color"."fuzzy_color_id",
       "lego_color"."is_active"
  FROM
"lego_color"
 WHERE
"lego_color"."is_active"
 ORDER BY
"lego_color"."name" ASC
SELECT ••• FROM "lego_color" WHERE "lego_color"."is_active" ORDER BY "lego_color"."name" ASC
0.26

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(330)
  context['adv_form'] = AdvancedSearchPartsForm(params.copy(), user=request.user)

/home/nathan/rb/site/./lego/forms/parts.py in __init__(672)
  self.fields['exists_in_color'].choices = Color.get_color_options(True)

/home/nathan/rb/site/./lego/models/colors.py in get_color_options(110)
  for color in colors:

SELECT "rb_sitesettings"."id",
       "rb_sitesettings"."name",
       "rb_sitesettings"."value"
  FROM
"rb_sitesettings"
 WHERE
"rb_sitesettings"."name" = 'site_message'
 LIMIT
21
SELECT ••• FROM "rb_sitesettings" WHERE "rb_sitesettings"."name" = 'site_message' LIMIT 21
0.10

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(333)
  return render(request, 'parts/find_parts.html', context)

/home/nathan/rb/site/./rb/templatetags/rb_settings.py in site_message(147)
  message = SiteSettings.get_site_message()

/home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
  result = method(instance, *args, **kwargs)

/home/nathan/rb/site/./rb/models/site.py in get_site_message(24)
  setting = cls.objects.get(name=SiteSettings.SITE_MESSAGE)

340
341 <body class="{% block body-class %}{{ request.user.get_body_classes }}{% endblock body-class %}">
342
343 {% site_message %}
344 <div id="wrapper" class="{% block wrapper_class %}{% endblock wrapper_class %} {% if request.user.is_anonymous %}{% else %}{{ request.user.get_personalisation_options.max_width }}{% endif %}">
345
346
347 <div id="topBar" class="hidden-sm hidden-xs">

/home/nathan/rb/site/rb/templates/rb/base_root.html

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
21
SELECT ••• FROM "countries_plus_country" WHERE "countries_plus_country"."iso" = 'US' LIMIT 21
0.11

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(333)
  return render(request, 'parts/find_parts.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>

/home/nathan/rb/site/rb/templates/rb/base_root.html

SELECT "lego_partcategory"."id",
       "lego_partcategory"."name",
       "lego_partcategory"."part_count",
       "lego_partcategory"."img",
       "lego_partcategory"."slug"
  FROM
"lego_partcategory"
 ORDER BY
"lego_partcategory"."name" ASC
SELECT ••• FROM "lego_partcategory" ORDER BY "lego_partcategory"."name" ASC
0.20

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(333)
  return render(request, 'parts/find_parts.html', context)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/templatetags/crispy_forms_tags.py in render(204)
  c = self.get_render(context).flatten()

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/templatetags/crispy_forms_tags.py in get_render(120)
  actual_form.form_html = helper.render_layout(

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/helper.py in render_layout(301)
  html = self.layout.render(form, self.form_style, context, template_pack=template_pack)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in render(135)
  return self.get_rendered_fields(form, form_style, context, template_pack, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in get_rendered_fields(96)
  return "".join(

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in <genexpr>(97)
  render_field(field, form, form_style, context, template_pack=template_pack, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/utils.py in render_field(66)
  return field.render(form, form_style, context, template_pack=template_pack)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in render(367)
  fields = self.get_rendered_fields(form, form_style, context, template_pack, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in get_rendered_fields(96)
  return "".join(

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in <genexpr>(97)
  render_field(field, form, form_style, context, template_pack=template_pack, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/utils.py in render_field(66)
  return field.render(form, form_style, context, template_pack=template_pack)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in render(367)
  fields = self.get_rendered_fields(form, form_style, context, template_pack, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in get_rendered_fields(96)
  return "".join(

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in <genexpr>(97)
  render_field(field, form, form_style, context, template_pack=template_pack, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/utils.py in render_field(66)
  return field.render(form, form_style, context, template_pack=template_pack)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in render(457)
  return self.get_rendered_fields(

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in get_rendered_fields(96)
  return "".join(

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/layout.py in <genexpr>(97)
  render_field(field, form, form_style, context, template_pack=template_pack, **kwargs)

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/utils.py in render_field(139)
  html = template.render(context)

/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_sorted_choices(156)
  return [('', 'Category')] + [(x.id, x.name) for x in cats]

9 <div class="controls {% for offset in bootstrap_checkbox_offsets %}{{ offset }} {% endfor %}{{ field_class }}">
10 {% endif %}
11 {% endif %}
12 <{% if tag %}{{ tag }}{% else %}div{% endif %} id="div_{{ field.auto_id }}" {% if not field|is_checkbox %}class="form-group{% else %}class="checkbox{% endif %}{% if wrapper_class %} {{ wrapper_class }}{% endif %}{% if form_show_errors%}{% if field.errors %} has-error{% endif %}{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}">
13 {% if field.label and not field|is_checkbox and form_show_labels %}
14 <label for="{{ field.id_for_label }}" class="control-label {{ label_class }}{% if field.field.required %} requiredField{% endif %}">
15 {{ field.label|safe }}{% if field.field.required %}<span class="asteriskField">*</span>{% endif %}
16 </label>

/home/nathan/venv_rb310/lib/python3.10/site-packages/crispy_forms/templates/bootstrap3/field.html

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" = 24136 AND "lego_partrelationship"."rel_type" = 'S')
SELECT ••• FROM "lego_partrelationship" WHERE ("lego_partrelationship"."part_child_id" = 24136 AND "lego_partrelationship"."rel_type" = 'S')
8 similar queries.
0.22

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(333)
  return render(request, 'parts/find_parts.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(607)
  similar_part = self.get_similar_part()

/home/nathan/rb/site/./lego/models/parts.py in get_similar_part(352)
  if parent_rel:

39 {% if params.exists_in_color or params.exists_in_color == '0' %}
40 {% render_part_in_color list_part params.exists_in_color_object list_part.get_part_html %}
41 {% else %}
42 {% render_part list_part list_part.get_part_html %}
43 {% endif %}
44
45 {% else %}
46 {% render_list_part list_part list_part.get_part_html %}

/home/nathan/rb/site/lego/templates/parts/render_parts_list.html

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" = 23712 AND "lego_partrelationship"."rel_type" = 'S')
SELECT ••• FROM "lego_partrelationship" WHERE ("lego_partrelationship"."part_child_id" = 23712 AND "lego_partrelationship"."rel_type" = 'S')
8 similar queries.
0.10

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(333)
  return render(request, 'parts/find_parts.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(607)
  similar_part = self.get_similar_part()

/home/nathan/rb/site/./lego/models/parts.py in get_similar_part(352)
  if parent_rel:

39 {% if params.exists_in_color or params.exists_in_color == '0' %}
40 {% render_part_in_color list_part params.exists_in_color_object list_part.get_part_html %}
41 {% else %}
42 {% render_part list_part list_part.get_part_html %}
43 {% endif %}
44
45 {% else %}
46 {% render_list_part list_part list_part.get_part_html %}

/home/nathan/rb/site/lego/templates/parts/render_parts_list.html

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" = 41862 AND "lego_partrelationship"."rel_type" = 'S')
SELECT ••• FROM "lego_partrelationship" WHERE ("lego_partrelationship"."part_child_id" = 41862 AND "lego_partrelationship"."rel_type" = 'S')
8 similar queries.
0.08

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(333)
  return render(request, 'parts/find_parts.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(607)
  similar_part = self.get_similar_part()

/home/nathan/rb/site/./lego/models/parts.py in get_similar_part(352)
  if parent_rel:

39 {% if params.exists_in_color or params.exists_in_color == '0' %}
40 {% render_part_in_color list_part params.exists_in_color_object list_part.get_part_html %}
41 {% else %}
42 {% render_part list_part list_part.get_part_html %}
43 {% endif %}
44
45 {% else %}
46 {% render_list_part list_part list_part.get_part_html %}

/home/nathan/rb/site/lego/templates/parts/render_parts_list.html

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"."is_primary" AND "lego_partphoto"."part_id" = 41862)
SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."is_primary" AND "lego_partphoto"."part_id" = 41862)
6 similar queries.
0.08

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(333)
  return render(request, 'parts/find_parts.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(663)
  photo = self.get_photo(color=None)

/home/nathan/rb/site/./lego/models/parts.py in get_photo(506)
  if photos:

39 {% if params.exists_in_color or params.exists_in_color == '0' %}
40 {% render_part_in_color list_part params.exists_in_color_object list_part.get_part_html %}
41 {% else %}
42 {% render_part list_part list_part.get_part_html %}
43 {% endif %}
44
45 {% else %}
46 {% render_list_part list_part list_part.get_part_html %}

/home/nathan/rb/site/lego/templates/parts/render_parts_list.html

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" = 71099 AND "lego_partrelationship"."rel_type" = 'S')
SELECT ••• FROM "lego_partrelationship" WHERE ("lego_partrelationship"."part_child_id" = 71099 AND "lego_partrelationship"."rel_type" = 'S')
8 similar queries.
8.46

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(333)
  return render(request, 'parts/find_parts.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(607)
  similar_part = self.get_similar_part()

/home/nathan/rb/site/./lego/models/parts.py in get_similar_part(352)
  if parent_rel:

39 {% if params.exists_in_color or params.exists_in_color == '0' %}
40 {% render_part_in_color list_part params.exists_in_color_object list_part.get_part_html %}
41 {% else %}
42 {% render_part list_part list_part.get_part_html %}
43 {% endif %}
44
45 {% else %}
46 {% render_list_part list_part list_part.get_part_html %}

/home/nathan/rb/site/lego/templates/parts/render_parts_list.html

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"."is_primary" AND "lego_partphoto"."part_id" = 71099)
SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."is_primary" AND "lego_partphoto"."part_id" = 71099)
6 similar queries.
0.08

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(333)
  return render(request, 'parts/find_parts.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(663)
  photo = self.get_photo(color=None)

/home/nathan/rb/site/./lego/models/parts.py in get_photo(506)
  if photos:

39 {% if params.exists_in_color or params.exists_in_color == '0' %}
40 {% render_part_in_color list_part params.exists_in_color_object list_part.get_part_html %}
41 {% else %}
42 {% render_part list_part list_part.get_part_html %}
43 {% endif %}
44
45 {% else %}
46 {% render_list_part list_part list_part.get_part_html %}

/home/nathan/rb/site/lego/templates/parts/render_parts_list.html

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" = 41861 AND "lego_partrelationship"."rel_type" = 'S')
SELECT ••• FROM "lego_partrelationship" WHERE ("lego_partrelationship"."part_child_id" = 41861 AND "lego_partrelationship"."rel_type" = 'S')
8 similar queries.
0.07

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(333)
  return render(request, 'parts/find_parts.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(607)
  similar_part = self.get_similar_part()

/home/nathan/rb/site/./lego/models/parts.py in get_similar_part(352)
  if parent_rel:

39 {% if params.exists_in_color or params.exists_in_color == '0' %}
40 {% render_part_in_color list_part params.exists_in_color_object list_part.get_part_html %}
41 {% else %}
42 {% render_part list_part list_part.get_part_html %}
43 {% endif %}
44
45 {% else %}
46 {% render_list_part list_part list_part.get_part_html %}

/home/nathan/rb/site/lego/templates/parts/render_parts_list.html

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"."is_primary" AND "lego_partphoto"."part_id" = 41861)
SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."is_primary" AND "lego_partphoto"."part_id" = 41861)
6 similar queries.
0.07

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(333)
  return render(request, 'parts/find_parts.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(663)
  photo = self.get_photo(color=None)

/home/nathan/rb/site/./lego/models/parts.py in get_photo(506)
  if photos:

39 {% if params.exists_in_color or params.exists_in_color == '0' %}
40 {% render_part_in_color list_part params.exists_in_color_object list_part.get_part_html %}
41 {% else %}
42 {% render_part list_part list_part.get_part_html %}
43 {% endif %}
44
45 {% else %}
46 {% render_list_part list_part list_part.get_part_html %}

/home/nathan/rb/site/lego/templates/parts/render_parts_list.html

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" = 71100 AND "lego_partrelationship"."rel_type" = 'S')
SELECT ••• FROM "lego_partrelationship" WHERE ("lego_partrelationship"."part_child_id" = 71100 AND "lego_partrelationship"."rel_type" = 'S')
8 similar queries.
0.08

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(333)
  return render(request, 'parts/find_parts.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(607)
  similar_part = self.get_similar_part()

/home/nathan/rb/site/./lego/models/parts.py in get_similar_part(352)
  if parent_rel:

39 {% if params.exists_in_color or params.exists_in_color == '0' %}
40 {% render_part_in_color list_part params.exists_in_color_object list_part.get_part_html %}
41 {% else %}
42 {% render_part list_part list_part.get_part_html %}
43 {% endif %}
44
45 {% else %}
46 {% render_list_part list_part list_part.get_part_html %}

/home/nathan/rb/site/lego/templates/parts/render_parts_list.html

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"."is_primary" AND "lego_partphoto"."part_id" = 71100)
SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."is_primary" AND "lego_partphoto"."part_id" = 71100)
6 similar queries.
0.06

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(333)
  return render(request, 'parts/find_parts.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(663)
  photo = self.get_photo(color=None)

/home/nathan/rb/site/./lego/models/parts.py in get_photo(506)
  if photos:

39 {% if params.exists_in_color or params.exists_in_color == '0' %}
40 {% render_part_in_color list_part params.exists_in_color_object list_part.get_part_html %}
41 {% else %}
42 {% render_part list_part list_part.get_part_html %}
43 {% endif %}
44
45 {% else %}
46 {% render_list_part list_part list_part.get_part_html %}

/home/nathan/rb/site/lego/templates/parts/render_parts_list.html

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" = 41863 AND "lego_partrelationship"."rel_type" = 'S')
SELECT ••• FROM "lego_partrelationship" WHERE ("lego_partrelationship"."part_child_id" = 41863 AND "lego_partrelationship"."rel_type" = 'S')
8 similar queries.
0.07

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(333)
  return render(request, 'parts/find_parts.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(607)
  similar_part = self.get_similar_part()

/home/nathan/rb/site/./lego/models/parts.py in get_similar_part(352)
  if parent_rel:

39 {% if params.exists_in_color or params.exists_in_color == '0' %}
40 {% render_part_in_color list_part params.exists_in_color_object list_part.get_part_html %}
41 {% else %}
42 {% render_part list_part list_part.get_part_html %}
43 {% endif %}
44
45 {% else %}
46 {% render_list_part list_part list_part.get_part_html %}

/home/nathan/rb/site/lego/templates/parts/render_parts_list.html

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"."is_primary" AND "lego_partphoto"."part_id" = 41863)
SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."is_primary" AND "lego_partphoto"."part_id" = 41863)
6 similar queries.
0.08

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(333)
  return render(request, 'parts/find_parts.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(663)
  photo = self.get_photo(color=None)

/home/nathan/rb/site/./lego/models/parts.py in get_photo(506)
  if photos:

39 {% if params.exists_in_color or params.exists_in_color == '0' %}
40 {% render_part_in_color list_part params.exists_in_color_object list_part.get_part_html %}
41 {% else %}
42 {% render_part list_part list_part.get_part_html %}
43 {% endif %}
44
45 {% else %}
46 {% render_list_part list_part list_part.get_part_html %}

/home/nathan/rb/site/lego/templates/parts/render_parts_list.html

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" = 72517 AND "lego_partrelationship"."rel_type" = 'S')
SELECT ••• FROM "lego_partrelationship" WHERE ("lego_partrelationship"."part_child_id" = 72517 AND "lego_partrelationship"."rel_type" = 'S')
8 similar queries.
0.10

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(333)
  return render(request, 'parts/find_parts.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(607)
  similar_part = self.get_similar_part()

/home/nathan/rb/site/./lego/models/parts.py in get_similar_part(352)
  if parent_rel:

39 {% if params.exists_in_color or params.exists_in_color == '0' %}
40 {% render_part_in_color list_part params.exists_in_color_object list_part.get_part_html %}
41 {% else %}
42 {% render_part list_part list_part.get_part_html %}
43 {% endif %}
44
45 {% else %}
46 {% render_list_part list_part list_part.get_part_html %}

/home/nathan/rb/site/lego/templates/parts/render_parts_list.html

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"."is_primary" AND "lego_partphoto"."part_id" = 72517)
SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."is_primary" AND "lego_partphoto"."part_id" = 72517)
6 similar queries.
0.07

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./lego/views/parts.py in find_parts(333)
  return render(request, 'parts/find_parts.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(663)
  photo = self.get_photo(color=None)

/home/nathan/rb/site/./lego/models/parts.py in get_photo(506)
  if photos:

39 {% if params.exists_in_color or params.exists_in_color == '0' %}
40 {% render_part_in_color list_part params.exists_in_color_object list_part.get_part_html %}
41 {% else %}
42 {% render_part list_part list_part.get_part_html %}
43 {% endif %}
44
45 {% else %}
46 {% render_list_part list_part list_part.get_part_html %}

/home/nathan/rb/site/lego/templates/parts/render_parts_list.html

Log messages

No messages logged.