Showing 100 of 1,000 unique parts/colors ( total quantity)
DJDT

Time

Resource usage

Resource Value
User CPU time 517.540 msec
System CPU time 13.360 msec
Total CPU time 530.900 msec
Elapsed time 601.722 msec
Context switches 755 voluntary, 6 involuntary

Browser timing

Timing attribute Timeline Milliseconds since navigation start (+length)

SQL queries from 1 connection

  • default 78.26 ms (26 queries including 10 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" = '973pr4821c01'
 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" = '973pr4821c01' LIMIT 21
9.24

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" = '973pr4821c01'
 LIMIT
21
SELECT ••• FROM "lego_partcategory" WHERE "lego_partcategory"."slug" = '973pr4821c01' LIMIT 21
0.14

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)
 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) LIMIT 1000
6.34

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)
 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) LIMIT 1000
5.26

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 (1057, 472, 919, 535, 970, 725, 98, 977, 924, 1015, 1112, 177, 921, 872, 991, 975, 787, 158, 879, 179, 210, 370, 13, 16, 818, 634, 608, 326, 579, 425, 563, 821, 1117, 533, 741, 265, 261, 361, 198, 79, 785, 1089, 788, 1000, 679, 588, 44, 45, 1001, 249, 670, 209, 985, 482, 677, 1072, 86, 107, 26, 37, 32, 22, 68, 1018, 373, 658, 236, 702, 240, 147, 12, 24, 304, 729, 680, 159, 1088, 480, 581, 7, 1091, 54, 436, 886, 259, 343, 368, 986, 1070, 106, 452, 458, 590, 164, 1, 492, 1040, 653, 632, 1027))
 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 (1057, 472, 919, 535, 970, 725, 98, 977, 924, 1015, 1112, 177, 921, 872, 991, 975, 787, 158, 879, 179, 210, 370, 13, 16, 818, 634, 608, 326, 579, 425, 563, 821, 1117, 533, 741, 265, 261, 361, 198, 79, 785, 1089, 788, 1000, 679, 588, 44, 45, 1001, 249, 670, 209, 985, 482, 677, 1072, 86, 107, 26, 37, 32, 22, 68, 1018, 373, 658, 236, 702, 240, 147, 12, 24, 304, 729, 680, 159, 1088, 480, 581, 7, 1091, 54, 436, 886, 259, 343, 368, 986, 1070, 106, 452, 458, 590, 164, 1, 492, 1040, 653, 632, 1027)) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
5.29

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 (1057, 472, 919, 535, 970, 725, 98, 977, 924, 1015, 1112, 177, 921, 872, 991, 975, 787, 158, 879, 179, 210, 370, 13, 16, 818, 634, 608, 326, 579, 425, 563, 821, 1117, 533, 741, 265, 261, 361, 198, 79, 785, 1089, 788, 1000, 679, 588, 44, 45, 1001, 249, 670, 209, 985, 482, 677, 1072, 86, 107, 26, 37, 32, 22, 68, 1018, 373, 658, 236, 702, 240, 147, 12, 24, 304, 729, 680, 159, 1088, 480, 581, 7, 1091, 54, 436, 886, 259, 343, 368, 986, 1070, 106, 452, 458, 590, 164, 1, 492, 1040, 653, 632, 1027)
SELECT ••• FROM "lego_partcolorstats" WHERE "lego_partcolorstats"."part_id" IN (1057, 472, 919, 535, 970, 725, 98, 977, 924, 1015, 1112, 177, 921, 872, 991, 975, 787, 158, 879, 179, 210, 370, 13, 16, 818, 634, 608, 326, 579, 425, 563, 821, 1117, 533, 741, 265, 261, 361, 198, 79, 785, 1089, 788, 1000, 679, 588, 44, 45, 1001, 249, 670, 209, 985, 482, 677, 1072, 86, 107, 26, 37, 32, 22, 68, 1018, 373, 658, 236, 702, 240, 147, 12, 24, 304, 729, 680, 159, 1088, 480, 581, 7, 1091, 54, 436, 886, 259, 343, 368, 986, 1070, 106, 452, 458, 590, 164, 1, 492, 1040, 653, 632, 1027)
4.31

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 (1057, 472, 919, 535, 970, 725, 98, 977, 924, 1015, 1112, 177, 921, 872, 991, 975, 787, 158, 879, 179, 210, 370, 13, 16, 818, 634, 608, 326, 579, 425, 563, 821, 1117, 533, 741, 265, 261, 361, 198, 79, 785, 1089, 788, 1000, 679, 588, 44, 45, 1001, 249, 670, 209, 985, 482, 677, 1072, 86, 107, 26, 37, 32, 22, 68, 1018, 373, 658, 236, 702, 240, 147, 12, 24, 304, 729, 680, 159, 1088, 480, 581, 7, 1091, 54, 436, 886, 259, 343, 368, 986, 1070, 106, 452, 458, 590, 164, 1, 492, 1040, 653, 632, 1027)
SELECT ••• FROM "lego_partcost" WHERE "lego_partcost"."part_id" IN (1057, 472, 919, 535, 970, 725, 98, 977, 924, 1015, 1112, 177, 921, 872, 991, 975, 787, 158, 879, 179, 210, 370, 13, 16, 818, 634, 608, 326, 579, 425, 563, 821, 1117, 533, 741, 265, 261, 361, 198, 79, 785, 1089, 788, 1000, 679, 588, 44, 45, 1001, 249, 670, 209, 985, 482, 677, 1072, 86, 107, 26, 37, 32, 22, 68, 1018, 373, 658, 236, 702, 240, 147, 12, 24, 304, 729, 680, 159, 1088, 480, 581, 7, 1091, 54, 436, 886, 259, 343, 368, 986, 1070, 106, 452, 458, 590, 164, 1, 492, 1040, 653, 632, 1027)
3.32

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 (1057, 472, 919, 535, 970, 725, 98, 977, 924, 1015, 1112, 177, 921, 872, 991, 975, 787, 158, 879, 179, 210, 370, 13, 16, 818, 634, 608, 326, 579, 425, 563, 821, 1117, 533, 741, 265, 261, 361, 198, 79, 785, 1089, 788, 1000, 679, 588, 44, 45, 1001, 249, 670, 209, 985, 482, 677, 1072, 86, 107, 26, 37, 32, 22, 68, 1018, 373, 658, 236, 702, 240, 147, 12, 24, 304, 729, 680, 159, 1088, 480, 581, 7, 1091, 54, 436, 886, 259, 343, 368, 986, 1070, 106, 452, 458, 590, 164, 1, 492, 1040, 653, 632, 1027))
SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" IN (1057, 472, 919, 535, 970, 725, 98, 977, 924, 1015, 1112, 177, 921, 872, 991, 975, 787, 158, 879, 179, 210, 370, 13, 16, 818, 634, 608, 326, 579, 425, 563, 821, 1117, 533, 741, 265, 261, 361, 198, 79, 785, 1089, 788, 1000, 679, 588, 44, 45, 1001, 249, 670, 209, 985, 482, 677, 1072, 86, 107, 26, 37, 32, 22, 68, 1018, 373, 658, 236, 702, 240, 147, 12, 24, 304, 729, 680, 159, 1088, 480, 581, 7, 1091, 54, 436, 886, 259, 343, 368, 986, 1070, 106, 452, 458, 590, 164, 1, 492, 1040, 653, 632, 1027))
2.87

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 (1057,472,919,535,970,725,98,977,924,1015,1112,177,921,872,991,975,787,158,879,179,210,370,13,16,818,634,608,326,579,425,563,821,1117,533,741,265,261,361,198,79,785,1089,788,1000,679,588,44,45,1001,249,670,209,985,482,677,1072,86,107,26,37,32,22,68,1018,373,658,236,702,240,147,12,24,304,729,680,159,1088,480,581,7,1091,54,436,886,259,343,368,986,1070,106,452,458,590,164,1,492,1040,653,632,1027)
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 (1057,472,919,535,970,725,98,977,924,1015,1112,177,921,872,991,975,787,158,879,179,210,370,13,16,818,634,608,326,579,425,563,821,1117,533,741,265,261,361,198,79,785,1089,788,1000,679,588,44,45,1001,249,670,209,985,482,677,1072,86,107,26,37,32,22,68,1018,373,658,236,702,240,147,12,24,304,729,680,159,1088,480,581,7,1091,54,436,886,259,343,368,986,1070,106,452,458,590,164,1,492,1040,653,632,1027)
30.44

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)
8.90

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.30

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 "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.14

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.13

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(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/venv_rb310/lib/python3.10/site-packages/crispy_forms/templatetags/crispy_forms_field.py in render(157)
  return str(field)

/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]

33 {% include 'bootstrap3/layout/help_text_and_errors.html' %}
34 {% else %}
35 <div class="controls {{ field_class }}">
36 {% crispy_field field %}
37 {% include 'bootstrap3/layout/help_text_and_errors.html' %}
38 </div>
39 {% endif %}
40 {% endif %}

/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" = 1057 AND "lego_partrelationship"."rel_type" = 'S')
SELECT ••• FROM "lego_partrelationship" WHERE ("lego_partrelationship"."part_child_id" = 1057 AND "lego_partrelationship"."rel_type" = 'S')
6 similar queries.
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/./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" = 1057)
SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."is_primary" AND "lego_partphoto"."part_id" = 1057)
4 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(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" = 788 AND "lego_partrelationship"."rel_type" = 'S')
SELECT ••• FROM "lego_partrelationship" WHERE ("lego_partrelationship"."part_child_id" = 788 AND "lego_partrelationship"."rel_type" = 'S')
6 similar queries.
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/./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" = 702 AND "lego_partrelationship"."rel_type" = 'S')
SELECT ••• FROM "lego_partrelationship" WHERE ("lego_partrelationship"."part_child_id" = 702 AND "lego_partrelationship"."rel_type" = 'S')
6 similar queries.
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/./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_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" IN (16154)
SELECT ••• FROM "lego_part" WHERE "lego_part"."id" IN (16154)
0.13

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_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 (16154))
 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 (16154)) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" 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/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"."part_id" IN (16154))
SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" IN (16154))
0.12

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

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" = 653)
SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."is_primary" AND "lego_partphoto"."part_id" = 653)
4 similar queries.
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/./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" = 632 AND "lego_partrelationship"."rel_type" = 'S')
SELECT ••• FROM "lego_partrelationship" WHERE ("lego_partrelationship"."part_child_id" = 632 AND "lego_partrelationship"."rel_type" = 'S')
6 similar queries.
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/./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" = 632)
SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."is_primary" AND "lego_partphoto"."part_id" = 632)
4 similar queries.
0.09

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

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

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.