Element

LDraw

Photo

There are 22 more photos of this Part
The following mold variations of part 3660 have been found so far:
  • (3660a) Round bottom pin, small round stud holes.

  • (3660a) Round bottom pin, medium-sized round stud holes.
    The stud holes look bar-sized but they are still slightly smaller and do not allow inserting bars.

  • (3660b) Ovoid bottom pin, small or medium round stud holes.

  • (3660) Ovoid bottom pin, bar-sized round stud holes with internal stoppers.

  • (3660) Ovoid bottom pin, bar-sized faceted stud holes with internal stoppers.


  • Types 1, 2, 4, 5 and 3 are shown in the photo below:


    The transparent version lost the bottom pin and ridges

    Available Colors

    Toggle Available Colors

    This part appears in 40 Colors. Click on a colored part below to see the Sets and MOCs that use part 3660 Slope Inverted 45° 2 x 2 [Ovoid Bottom Pin, Bar-sized Stud Holes] in that color. You can find an overview of all LEGO Colors here.

    If a color is missing, it probably needs to be added to a Set Inventory.

    In Sets | In MOCS | All Colors
    Color Element Set Parts Sets From To MOC Parts MOCs
    00005e 5e5e5e
    HO Metallic Dark Gray
    000061 616161
    HO Titanium
    00009b 9C9C9C
    Modulex Foil Light Gray
    00009b 9C9C9C
    Modulex Light Gray
    0000d8 D9D9D9
    Glow in Dark White 38 4
    0000f3 F4F4F4
    Modulex White
    0000fb FCFCFC
    Opal Trans-Clear
    0000fe FFFFFF
    Glitter Trans-Clear
    0000fe FFFFFF
    Glitter Milky White
    0000fe FFFFFF
    Modulex Clear
    0000fe FFFFFF
    White 366001 1636 457 1976 2021 14284 2160
    001dd3 05131D
    Speckle Black-Copper
    001dd3 05131D
    Speckle Black-Gold
    001dd3 05131D
    Black 366026 2170 567 1976 2025 20807 3648
    001dd3 05131D
    Speckle Black-Silver
    00296b 6B5A5A
    Modulex Tile Gray
    00347b 1B2A34
    Chrome Black
    003e15 3E3C39
    Pearl Titanium
    005803 575857
    Pearl Dark Gray 4 1
    006013 595D60
    Modulex Foil Dark Gray
    006013 595D60
    Modulex Charcoal Gray
    00632c 635F52
    Trans-Black 1 1
    00632c 635F52
    Trans-Black IR Lens
    00632c 635F52
    Trans-Brown
    006e0e 6C6E68
    Dark Bluish Gray 4211000 1752 436 2004 2026 35647 5072
    006e2a 6D6E5C
    Dark Gray 366027 265 54 1995 2005 758 102
    0087cf d06262
    HO Rose
    008804 898788
    Flat Silver
    00a00a 9BA19D
    Light Gray 366002 344 118 1979 2004 2161 386
    00a712 9CA3A8
    Pearl Light Gray 6 1
    00a80e A0A5A9
    Light Bluish Gray 4211436 1442 325 2004 2022 26288 3286
    00ac03 ABADAC
    Pearl Very Light Gray
    00b315 A5A9B4
    Metallic Silver
    00b315 A5ADB4
    Metal
    00d40e D4D5C9
    Glow In Dark Opaque
    00df00 E0E0E0
    Chrome Silver 6 1
    00e507 E6E3E0
    Very Light Bluish Gray 24 6
    00e50d E6E3DA
    Very Light Gray
    00e8bf c01111
    HO Medium Red
    00f201 F2F3F2
    Pearl White
    00fb00 FCFCFC
    Trans-Clear
    00fe00 FFFFFF
    Milky White
    00ff33 330000
    Modulex Tile Brown
    00ff8a 8B0000
    Modulex Foil Red
    0177d5 D67572
    Sand Red 5 2
    03d2b4 B52C20
    Modulex Red
    03f9b2 B31004
    Rust
    04d6cd CE3021
    Chrome Red
    04f4c8 C91A09
    Trans-Red
    04f4c8 C91A09
    Red 366021 1448 451 1976 2026 11715 2112
    058393 945148
    Two-tone Copper
    059cf1 F2705E
    Salmon
    05f5c9 CA1F08
    Vintage Red
    07bcf3 F45C40
    Modulex Pink Red
    07c7ed EE5434
    Bright Reddish Orange
    08d486 872B17
    Rust Orange
    0aeceb EC4612
    Neon Orange
    0c755e 5E3F33
    Umber Brown
    0d7e57 57392C
    Pearl Brown
    0d8076 764D3B
    Metallic Copper
    0da1ac AD6140
    Dark Nougat
    0da395 965336
    HO Light Brown
    0e887c 7C503A
    Light Brown 1 1
    0ef1c9 CA4C0B
    Reddish Orange
    0fcb58 582A12
    Reddish Brown 4211221 828 192 2003 2024 13464 1465
    107dad AE7A59
    Copper 6 1
    108e58 583927
    Brown 4143260 30 11 2001 2005 311 46
    108e58 583927
    Opal Trans-Brown
    109590 915C3C
    Sienna Brown 5 1
    10cdf3 F47B30
    Modulex Orange
    1180cf D09168
    Nougat 7 2
    11a9aa AB673A
    Two-tone Gold
    126975 755945
    Medium Brown 2 1
    128fb5 B67B50
    Fabuland Brown 1 1
    1480a9 AA7D55
    Medium Nougat 12 2
    14ebfe FF8014
    Fabuland Red
    14f2fe FF800D
    Trans-Neon Orange
    150473 737271
    Two-tone Silver 2 1
    1587b3 B48455
    Flat Dark Gold
    1599f6 F7AD63
    Modulex Light Orange
    1599f6 F7AD63
    Modulex Foil Orange
    15e7fd FE8A18
    Orange 4118829 250 76 1998 2026 1977 490
    15ffa8 A95500
    Dark Orange 6187575 72 23 2020 2025 1012 197
    1691fb FCB76D
    Trans-Flame Yellowish Orange
    1745f5 F6D7B3
    Light Nougat 10 1
    176fcb CCA373
    Warm Tan
    17dcee EF9121
    Fabuland Orange
    17e1ef F08F1C
    Glitter Trans-Orange
    17e1ef F08F1C
    Trans-Orange
    18718f 907450
    Modulex Brown
    18daba bb771b
    HO Earth Orange
    193d64 645A4C
    Chrome Antique Brass
    195cf2 F3CF9B
    Very Light Orange
    1996ab AC8247
    Reddish Gold
    199cf8 F9BA61
    Light Orange
    19addc DD9E47
    Ochre Yellow
    19e2f9 FA9C1C
    Earth Orange 2 1
    19ffb3 B46A00
    Pearl Copper
    1a70f2 F3C988
    Light Tan
    1a87fe FFCB78
    Warm Yellowish Orange
    1acadc DD982E
    Curry
    1aff35 352100
    Dark Brown 4648296 177 30 2012 2020 1460 199
    1b4cdd DEC69C
    Modulex Buff
    1bf4fe FFA70B
    Medium Orange
    1c69db DCBC81
    Pearl Light Gold
    1cbaa9 AA7F2E
    Pearl Gold 2 1
    1d3a94 958A73
    Dark Tan 6376403 9 5 2020 2023 1508 253
    1d4ee3 E4CD9E
    Tan 4118866 736 201 2000 2026 12878 2335
    1d4ee3 E4CD9E
    HO Tan
    1dc0f7 F8BB3D
    Bright Light Orange 6170916 65 25 2016 2025 727 195
    1f7a5c 5C5030
    Modulex Terracotta
    1fc2da DBAC34
    Metallic Gold
    20a8fd FED557
    Modulex Foil Yellow
    20a8fd FED557
    Modulex Ochre Yellow
    2242cc cdc298
    HO Light Gold
    225bb3 b4a774
    HO Gold
    2267fa FBE696
    Light Yellow 4 1
    228efe FFE371
    Modulex Light Yellow
    22c5f1 F2CD37
    Yellow 366024 1024 295 1976 2025 6153 1382
    22cef4 F5CD2F
    Trans-Yellow
    22cef4 F5CD2F
    Opal Trans-Yellow
    22f4fe FFCF0B
    Clikits Yellow
    22faf2 F3C305
    Vintage Yellow
    22ffd9 DAB000
    Trans-Neon Yellow
    236dfa FBE890
    Trans-Fire Yellow
    23acba BBA53D
    Chrome Gold
    2433f8 f9f1c7
    HO Light Tan
    27c5fe FFF03A
    Bright Light Yellow 6373311 13 5 2021 2024 166 58
    27ffea EBD800
    Vibrant Yellow 6522216 4 1 2025 2025 11 5
    2877f7 F8F184
    Trans-Neon Green
    28cffe FFF230
    Duplo Lime
    296b5d 5d5c36
    Dark Olive Green
    2a6b9a 9B9A5A
    HO Olive Green
    2a6b9a 9B9A5A
    Olive Green 31 4
    2d2a6e 6D6E5C
    HO Dark Gray
    2d8ab8 b2b955
    HO Dark Lime
    2de0c5 BDC618
    Modulex Lemon
    2e44f9 f5fab7
    HO Light Yellow
    2eb6d1 C7D23C
    Medium Lime
    3244e3 D9E4A7
    Trans-Bright Green
    3244e3 D9E4A7
    Light Lime
    3244e3 D9E4A7
    Glitter Trans-Bright Green
    334eed DFEEA5
    Yellowish Green
    33f3e8 BBE90B
    Lime 4529679 127 52 2005 2025 1230 418
    34bbfb D2FC43
    Neon Green
    34fff4 C0F500
    Glitter Trans-Neon Green
    37639a 899B5F
    Metallic Green
    377079 6A7944
    Pearl Lime
    3869e6 C9E788
    Trans-Light Bright Green
    38708f 7C9051
    Modulex Olive Green
    390e6e 6C6E68
    Speckle DBGray-Silver
    395297 879867
    HO Metallic Green
    3a20c5 BDC6AD
    Glow In Dark Trans
    3eb0b4 7DB538
    Modulex Pastel Green
    3eb0b4 7DB538
    Modulex Foil Light Green
    4928d9 C2DAB8
    Light Green 4 1
    54889e 4B9F4A
    Bright Green 86 3
    55327a 627a62
    HO Dark Sand Green
    5586fb 78FC78
    Fabuland Lime
    55af60 1E601E
    Vintage Green
    55ff64 006400
    Modulex Foil Dark Green
    5d46b5 84B68D
    Glitter Trans-Green
    5d46b5 84B68D
    Trans-Green
    5d46b5 84B68D
    Opal Trans-Bright Green
    5f7bb9 60BA76
    Duplo Light Green
    615ae4 94E5AB
    Trans-Light Green
    64b578 237841
    Green 4142717 297 104 2000 2026 3506 1076
    657e89 468A5F
    Duplo Medium Green
    6726bb A0BCAC
    Sand Green 4188715 2 1 2003 2003 139 30
    6726bb A0BCAC
    HO Sand Green
    67ff8d 008E3C
    Pearl Green
    687adb 73DCA1
    Medium Green
    68aab2 3CB371
    Chrome Green
    6da846 184632
    Dark Green 6055241 35 10 2008 2018 1426 234
    6da846 184632
    HO Dark Green
    7038d0 a3d1c0
    HO Light Aqua
    753ddb a7dccf
    HO Dark Aqua
    77a7b5 3FB69E
    Duplo Turquoise
    782bd6 B3D7D1
    HO Aqua
    782bd6 B3D7D1
    Aqua
    7a1dc2 ADC3C0
    Light Aqua 6300588 18 6 2020 2021 51 14
    7cb585 27867E
    Modulex Aqua Green
    7e45ee AEEFEC
    Trans-Light Blue 1 1
    83e59c 10929d
    HO Dark Turquoise
    83ff9a 008F9B
    Dark Turquoise 6267698 19 5 2019 2021 79 19
    8478c4 68BCC5
    Opal Trans-Light Blue
    8478c4 68BCC5
    Glitter Trans-Light Blue
    8483ae 55A5AF
    Light Turquoise
    85b7be 36AEBF
    Medium Azure 6070756 107 40 2014 2026 710 241
    8796d9 5AC4DA
    Pastel Blue 4585681 8 4 2005 2011
    87fbbc 039CBD
    Vintage Blue
    89ffcd 009ECE
    Duplo Blue
    8ba8b5 3E95B6
    Duplo Medium Blue
    8d695a 354e5a
    HO Blue-gray
    8d6fdc 7DBFDD
    Sky Blue
    8d7782 467083
    Modulex Teal Blue
    8d7db2 5b98b3
    HO Cyan
    8d7ecd 68AECE
    Modulex Pastel Blue
    8d7ecd 68AECE
    Modulex Foil Light Blue
    8dde63 0d4763
    HO Metallic Blue
    8de5ca 1591cb
    HO Azure
    8df6c8 078BC9
    Dark Azure 6078297 45 12 2017 2023 452 141
    8e528b 5f7d8c
    HO Metallic Sand Blue
    8ebac2 3592C3
    Maersk Blue 13 3 1980 2004 14 2
    8f32ef C1DFF0
    Trans-Very Lt Blue
    8f35e2 B4D2E3
    Light Blue
    91d31d 05131D
    [No Color/Any Color] 715 36
    93ffa2 0059A3
    Pearl Blue
    946fbe 6C96BF
    Chrome Blue
    94ffa5 0057A6
    Modulex Foil Dark Blue
    94ffa5 0057A6
    Modulex Tile Blue
    9551e8 9FC3E9
    Bright Light Blue 6383073 13 7 2022 2025 152 45
    9556a5 6e8aa6
    HO Sand Blue
    959efe 61AFFF
    Modulex Medium Blue
    9629f6 CFE2F7
    Trans-Medium Blue
    9645f6 B4D4F7
    Trans-Light Royal Blue
    96e563 0A3463
    Dark Blue 6025375 131 50 2004 2026 2495 523
    96e563 0A3463
    HO Dark Blue
    9796da 5A93DB
    Medium Blue 6056214 12 5 2005 2016 134 38
    97ffbe 0055BF
    Blue 366023 903 248 1976 2026 6278 1128
    986cc7 7396c8
    HO Medium Blue
    9a3fa0 7988A1
    Pearl Sand Blue
    9d67a0 6074A1
    Sand Blue 6207929 59 10 2003 2023 360 71
    9dbe27 0A1327
    Pearl Black
    9f1fc6 AfB5C7
    Modulex Light Bluish Gray
    a296a2 4354A3
    Violet 4 1
    a2ff9f 0020A0
    Opal Trans-Dark Blue
    a2ff9f 0020A0
    Trans-Dark Blue
    a4a7da 4C61DB
    Royal Blue 4224050 22 2 2004 2004 49 4
    a57cc9 6874CA
    Medium Bluish Violet
    a5d1af 2032B0
    Dark Blue-Violet
    a748c9 9195CA
    Light Lilac
    a75cfe A3A9FF
    Blue Violet
    a81ce1 C9CAE2
    Light Violet
    aa30ca A5A5CB
    Glitter Trans-Purple
    aa30ca A5A5CB
    Trans-Purple
    ab5de3 9391E4
    Medium Violet
    aea090 3F3691
    Dark Purple 6133921 62 18 2016 2025 577 118
    b11352 4D4C52
    Modulex Black
    bb5bb2 8D73B3
    Glitter Trans-Medium Purple
    bb5bb2 8D73B3
    Trans-Medium Purple
    bcc4a9 5F27AA
    Duplo Dark Purple
    bf1aec E1D5ED
    Lavender
    c3ff81 4B0082
    Modulex Foil Violet
    c6d2b6 8320B7
    Opal Trans-Purple
    cb5ab9 AC78BA
    Medium Lavender 6223452 32 11 2018 2025 151 55
    cc4b9e 96709F
    Trans-Light Purple
    cf6f96 8E5597
    Reddish Lilac
    d44983 845E84
    Sand Purple 2 1
    d6ff80 81007B
    Purple 4118906 2 1 1998 1998 9 3
    e18ca9 AA4D8E
    Chrome Pink
    e19b91 923978
    Magenta 6172860 89 26 2017 2026 391 129
    e1dbcd CE1D9B
    Opal Trans-Dark Pink
    e870c7 C870A0
    Dark Pink
    ea3ee3 E4ADC8
    Glitter Trans-Pink
    ea3ee3 E4ADC8
    Trans-Pink
    ea3ee3 E4ADC8
    Bright Pink
    ea85cc CD6298
    Light Purple 4218809
    ed87fd FE78B0
    Clikits Pink
    ee8ade DF6695
    Trans-Dark Pink
    ee8ade DF6695
    Glitter Trans-Dark Pink
    ef76f6 F785B1
    Modulex Pink
    ef76f6 F785B1
    Medium Dark Pink
    f496fe FF698F
    Coral 6258575 6 1 2019 2019 9 3
    f4fffe FF0040
    Trans-Neon Red
    f666fb FC97AC
    Pink
    f7ffd5 D60026
    Pearl Red
    f878fe FF879C
    Duplo Pink
    fa41f5 F6B7BF
    Warm Pink
    fa56bc BD7D85
    Modulex Violet
    fc32fd FECCCF
    Light Pink
    fd44fd FEBABD
    Light Salmon
    fece63 631314
    HO Dark Red
    ffe072 720E0F
    Dark Red 6052917 187 30 2004 2021 3985 365
    to your account to add or reply to comments.
    • Avatar image for Rebrickable user martinito
      5 months, 3 weeks ago martinito Level 3
      I have encountered a new mold variant of this part Lego 3660 Slope Inverted 45° 2 x 2.
      It has ovoid bottom pin and thin walls with vertical inside ridges and the top side has small round stud holes. Basically the bottom looks like variant 4 or 5 and the top looks like variant 1.
      Inside the bottom I can see numbers 2, 3 and 0 molded into the part.

      Color is yellow. I have only one such part, purchased it from someone who apparently had old sets from 1980s and 1970ies (deduced from some rare parts). I do not know which Lego set this part belonged to.

      Do you want me to submit a photo or is it not relevant enough?
    Create an account to change the default filters used.
    DJDT

    Time

    Resource usage

    Resource Value
    User CPU time 802.905 msec
    System CPU time 12.187 msec
    Total CPU time 815.092 msec
    Elapsed time 1065.395 msec
    Context switches 528 voluntary, 7 involuntary

    Browser timing

    Timing attribute Timeline Milliseconds since navigation start (+length)

    SQL queries from 1 connection

    • default 252.39 ms (164 queries including 138 similar and 20 duplicates )
    Query Timeline Time (ms) Action
    SELECT "lego_part"."id",
           "lego_part"."part_num",
           "lego_part"."name",
           "lego_part"."part_cat_id",
           "lego_part"."notes",
           "lego_part"."is_active",
           "lego_part"."search_vector",
           "lego_part"."ldraw_part_id",
           "lego_part"."bricklink_part_id",
           "lego_part"."ignore_color_errors",
           "lego_part"."part_material_id",
           "lego_part"."is_bricklink_minifig",
           "lego_part"."is_bricklink_book",
           "lego_part"."is_bricklink_gear",
           "lego_part"."show_generic_part_msg",
           "lego_partcategory"."id",
           "lego_partcategory"."name",
           "lego_partcategory"."part_count",
           "lego_partcategory"."img",
           "lego_partcategory"."slug",
           "lego_partmaterial"."id",
           "lego_partmaterial"."name",
           "lego_partoverlay"."part_id",
           "lego_partoverlay"."length",
           "lego_partstats"."part_id",
           "lego_partstats"."num_sets",
           "lego_partstats"."num_mocs",
           "lego_partstats"."num_set_parts",
           "lego_partstats"."num_moc_parts",
           "lego_partstats"."y1",
           "lego_partstats"."y2",
           "lego_partstats"."is_dirty"
      FROM
    "lego_part"
     INNER JOIN
    "lego_partcategory"
        ON
    ("lego_part"."part_cat_id" = "lego_partcategory"."id")
     INNER JOIN
    "lego_partmaterial"
        ON
    ("lego_part"."part_material_id" = "lego_partmaterial"."id")
      LEFT OUTER JOIN
    "lego_partoverlay"
        ON
    ("lego_part"."id" = "lego_partoverlay"."part_id")
      LEFT OUTER JOIN
    "lego_partstats"
        ON
    ("lego_part"."id" = "lego_partstats"."part_id")
     WHERE
    "lego_part"."part_num" = '3660'
     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" = '3660' LIMIT 21
    2 similar queries. Duplicated 2 times.
    0.83

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(122)
      part = get_or_none(Part.all_objects, part_num=slug1)
    
    /home/nathan/rb/site/./rb/utils.py in get_or_none(605)
      return manager.get(**kwargs)
    
    
    SELECT "lego_element"."id",
           "lego_element"."part_id",
           "lego_element"."color_id",
           "lego_element"."element_id",
           "lego_element"."design_id",
           "lego_element"."descr",
           "lego_element"."color_descr",
           "lego_element"."last_download_attempt",
           "lego_element"."num_download_attempts",
           "lego_element"."is_export_id",
           "lego_element"."is_active"
      FROM
    "lego_element"
     INNER JOIN
    "lego_color"
        ON
    ("lego_element"."color_id" = "lego_color"."id")
     WHERE
    ("lego_element"."is_active" AND "lego_element"."part_id" IN (1498))
     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 (1498)) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
    2 similar queries. Duplicated 2 times.
    0.46

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(122)
      part = get_or_none(Part.all_objects, part_num=slug1)
    
    /home/nathan/rb/site/./rb/utils.py in get_or_none(605)
      return manager.get(**kwargs)
    
    
    SELECT "lego_partcolorstats"."id",
           "lego_partcolorstats"."part_id",
           "lego_partcolorstats"."color_id",
           "lego_partcolorstats"."num_sets",
           "lego_partcolorstats"."num_mocs",
           "lego_partcolorstats"."num_set_parts",
           "lego_partcolorstats"."num_moc_parts",
           "lego_partcolorstats"."y1",
           "lego_partcolorstats"."y2",
           "lego_partcolorstats"."is_dirty",
           "lego_partcolorstats"."ignore_color_errors"
      FROM
    "lego_partcolorstats"
     WHERE
    "lego_partcolorstats"."part_id" IN (1498)
    SELECT ••• FROM "lego_partcolorstats" WHERE "lego_partcolorstats"."part_id" IN (1498)
    2 similar queries. Duplicated 2 times.
    0.38

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(122)
      part = get_or_none(Part.all_objects, part_num=slug1)
    
    /home/nathan/rb/site/./rb/utils.py in get_or_none(605)
      return manager.get(**kwargs)
    
    
    SELECT "lego_partcost"."id",
           "lego_partcost"."part_id",
           "lego_partcost"."color_id",
           "lego_partcost"."is_used",
           "lego_partcost"."cost_avg",
           "lego_partcost"."cost_min",
           "lego_partcost"."cost_max",
           "lego_partcost"."cost_count"
      FROM
    "lego_partcost"
     WHERE
    "lego_partcost"."part_id" IN (1498)
    SELECT ••• FROM "lego_partcost" WHERE "lego_partcost"."part_id" IN (1498)
    2 similar queries. Duplicated 2 times.
    0.37

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(122)
      part = get_or_none(Part.all_objects, part_num=slug1)
    
    /home/nathan/rb/site/./rb/utils.py in get_or_none(605)
      return manager.get(**kwargs)
    
    
    SELECT "lego_partphoto"."id",
           "lego_partphoto"."part_id",
           "lego_partphoto"."color_id",
           "lego_partphoto"."submitted_by_id",
           "lego_partphoto"."image",
           "lego_partphoto"."timestamp",
           "lego_partphoto"."is_active",
           "lego_partphoto"."is_primary"
      FROM
    "lego_partphoto"
     WHERE
    ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" IN (1498))
    SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" IN (1498))
    2 similar queries. Duplicated 2 times.
    0.26

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(122)
      part = get_or_none(Part.all_objects, part_num=slug1)
    
    /home/nathan/rb/site/./rb/utils.py in get_or_none(605)
      return manager.get(**kwargs)
    
    
    SELECT "lego_part"."id",
           "lego_part"."part_num",
           "lego_part"."name",
           "lego_part"."part_cat_id",
           "lego_part"."notes",
           "lego_part"."is_active",
           "lego_part"."search_vector",
           "lego_part"."ldraw_part_id",
           "lego_part"."bricklink_part_id",
           "lego_part"."ignore_color_errors",
           "lego_part"."part_material_id",
           "lego_part"."is_bricklink_minifig",
           "lego_part"."is_bricklink_book",
           "lego_part"."is_bricklink_gear",
           "lego_part"."show_generic_part_msg",
           "lego_partcategory"."id",
           "lego_partcategory"."name",
           "lego_partcategory"."part_count",
           "lego_partcategory"."img",
           "lego_partcategory"."slug",
           "lego_partmaterial"."id",
           "lego_partmaterial"."name",
           "lego_partoverlay"."part_id",
           "lego_partoverlay"."length",
           "lego_partstats"."part_id",
           "lego_partstats"."num_sets",
           "lego_partstats"."num_mocs",
           "lego_partstats"."num_set_parts",
           "lego_partstats"."num_moc_parts",
           "lego_partstats"."y1",
           "lego_partstats"."y2",
           "lego_partstats"."is_dirty"
      FROM
    "lego_part"
     INNER JOIN
    "lego_partcategory"
        ON
    ("lego_part"."part_cat_id" = "lego_partcategory"."id")
     INNER JOIN
    "lego_partmaterial"
        ON
    ("lego_part"."part_material_id" = "lego_partmaterial"."id")
      LEFT OUTER JOIN
    "lego_partoverlay"
        ON
    ("lego_part"."id" = "lego_partoverlay"."part_id")
      LEFT OUTER JOIN
    "lego_partstats"
        ON
    ("lego_part"."id" = "lego_partstats"."part_id")
     WHERE
    "lego_part"."part_num" = '3660'
     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" = '3660' LIMIT 21
    2 similar queries. Duplicated 2 times.
    0.39

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(362)
      part = get_object_or_404(Part.all_objects, part_num=part_num)
    
    
    SELECT "lego_element"."id",
           "lego_element"."part_id",
           "lego_element"."color_id",
           "lego_element"."element_id",
           "lego_element"."design_id",
           "lego_element"."descr",
           "lego_element"."color_descr",
           "lego_element"."last_download_attempt",
           "lego_element"."num_download_attempts",
           "lego_element"."is_export_id",
           "lego_element"."is_active"
      FROM
    "lego_element"
     INNER JOIN
    "lego_color"
        ON
    ("lego_element"."color_id" = "lego_color"."id")
     WHERE
    ("lego_element"."is_active" AND "lego_element"."part_id" IN (1498))
     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 (1498)) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
    2 similar queries. Duplicated 2 times.
    0.23

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(362)
      part = get_object_or_404(Part.all_objects, part_num=part_num)
    
    
    SELECT "lego_partcolorstats"."id",
           "lego_partcolorstats"."part_id",
           "lego_partcolorstats"."color_id",
           "lego_partcolorstats"."num_sets",
           "lego_partcolorstats"."num_mocs",
           "lego_partcolorstats"."num_set_parts",
           "lego_partcolorstats"."num_moc_parts",
           "lego_partcolorstats"."y1",
           "lego_partcolorstats"."y2",
           "lego_partcolorstats"."is_dirty",
           "lego_partcolorstats"."ignore_color_errors"
      FROM
    "lego_partcolorstats"
     WHERE
    "lego_partcolorstats"."part_id" IN (1498)
    SELECT ••• FROM "lego_partcolorstats" WHERE "lego_partcolorstats"."part_id" IN (1498)
    2 similar queries. Duplicated 2 times.
    0.14

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(362)
      part = get_object_or_404(Part.all_objects, part_num=part_num)
    
    
    SELECT "lego_partcost"."id",
           "lego_partcost"."part_id",
           "lego_partcost"."color_id",
           "lego_partcost"."is_used",
           "lego_partcost"."cost_avg",
           "lego_partcost"."cost_min",
           "lego_partcost"."cost_max",
           "lego_partcost"."cost_count"
      FROM
    "lego_partcost"
     WHERE
    "lego_partcost"."part_id" IN (1498)
    SELECT ••• FROM "lego_partcost" WHERE "lego_partcost"."part_id" IN (1498)
    2 similar queries. Duplicated 2 times.
    0.13

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(362)
      part = get_object_or_404(Part.all_objects, part_num=part_num)
    
    
    SELECT "lego_partphoto"."id",
           "lego_partphoto"."part_id",
           "lego_partphoto"."color_id",
           "lego_partphoto"."submitted_by_id",
           "lego_partphoto"."image",
           "lego_partphoto"."timestamp",
           "lego_partphoto"."is_active",
           "lego_partphoto"."is_primary"
      FROM
    "lego_partphoto"
     WHERE
    ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" IN (1498))
    SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" IN (1498))
    2 similar queries. Duplicated 2 times.
    0.19

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(362)
      part = get_object_or_404(Part.all_objects, part_num=part_num)
    
    
    SELECT "lego_partcolorstats"."id",
           "lego_partcolorstats"."part_id",
           "lego_partcolorstats"."color_id",
           "lego_partcolorstats"."num_sets",
           "lego_partcolorstats"."num_mocs",
           "lego_partcolorstats"."num_set_parts",
           "lego_partcolorstats"."num_moc_parts",
           "lego_partcolorstats"."y1",
           "lego_partcolorstats"."y2",
           "lego_partcolorstats"."is_dirty",
           "lego_partcolorstats"."ignore_color_errors"
      FROM
    "lego_partcolorstats"
     WHERE
    ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 1498)
     ORDER BY
    "lego_partcolorstats"."num_set_parts" DESC
     LIMIT
    1
    SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 1498) ORDER BY "lego_partcolorstats"."num_set_parts" DESC LIMIT 1
    15 similar queries.
    0.16

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(372)
      part.img_element = part.get_img_dir(force_use_element=True)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(536)
      most_common_color_id = self.get_most_common_color()
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_most_common_color(323)
      pcs = PartColorStats.objects.filter(part=self, num_sets__gt=0).order_by('-num_set_parts').first()
    
    
    SELECT "lego_partrelationship"."id",
           "lego_partrelationship"."part_parent_id",
           "lego_partrelationship"."part_child_id",
           "lego_partrelationship"."rel_type",
           T3."id",
           T3."part_num",
           T3."name",
           T3."part_cat_id",
           T3."notes",
           T3."is_active",
           T3."search_vector",
           T3."ldraw_part_id",
           T3."bricklink_part_id",
           T3."ignore_color_errors",
           T3."part_material_id",
           T3."is_bricklink_minifig",
           T3."is_bricklink_book",
           T3."is_bricklink_gear",
           T3."show_generic_part_msg",
           "lego_partcategory"."id",
           "lego_partcategory"."name",
           "lego_partcategory"."part_count",
           "lego_partcategory"."img",
           "lego_partcategory"."slug",
           "lego_partoverlay"."part_id",
           "lego_partoverlay"."length",
           "lego_partstats"."part_id",
           "lego_partstats"."num_sets",
           "lego_partstats"."num_mocs",
           "lego_partstats"."num_set_parts",
           "lego_partstats"."num_moc_parts",
           "lego_partstats"."y1",
           "lego_partstats"."y2",
           "lego_partstats"."is_dirty"
      FROM
    "lego_partrelationship"
     INNER JOIN
    "lego_part" T3
        ON
    ("lego_partrelationship"."part_child_id" = T3."id")
     INNER JOIN
    "lego_partcategory"
        ON
    (T3."part_cat_id" = "lego_partcategory"."id")
      LEFT OUTER JOIN
    "lego_partoverlay"
        ON
    (T3."id" = "lego_partoverlay"."part_id")
      LEFT OUTER JOIN
    "lego_partstats"
        ON
    (T3."id" = "lego_partstats"."part_id")
     WHERE
    ("lego_partrelationship"."part_parent_id" = 1498 AND "lego_partrelationship"."rel_type" = 'B' AND NOT ("lego_partrelationship"."part_child_id" = 1498))
     ORDER BY
    "lego_partstats"."num_sets" DESC
    SELECT ••• FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_child_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_parent_id" = 1498 AND "lego_partrelationship"."rel_type" = 'B' AND NOT ("lego_partrelationship"."part_child_id" = 1498)) ORDER BY "lego_partstats"."num_sets" DESC
    4 similar queries.
    0.41

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(379)
      subparts = sorted(part.get_related_subparts_child(), key=lambda x: x.part_num)
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_subparts_child(768)
      return self.get_related_children(PartRelationship.REL_TYPE_SUBPART)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_children(743)
      return [p.part_child for p in parts]
    
    
    SELECT "lego_partrelationshipflat"."part_id",
           "lego_partrelationshipflat"."a",
           "lego_partrelationshipflat"."m",
           "lego_partrelationshipflat"."p",
           "lego_partrelationshipflat"."am",
           "lego_partrelationshipflat"."ap",
           "lego_partrelationshipflat"."mp",
           "lego_partrelationshipflat"."amp"
      FROM
    "lego_partrelationshipflat"
     WHERE
    ("lego_partrelationshipflat"."am" IS NOT NULL AND "lego_partrelationshipflat"."part_id" = 1498)
     LIMIT
    21
    SELECT ••• FROM "lego_partrelationshipflat" WHERE ("lego_partrelationshipflat"."am" IS NOT NULL AND "lego_partrelationshipflat"."part_id" = 1498) LIMIT 21
    0.10

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(380)
      alts_molds = sorted(part.get_related_alts_and_molds(), key=lambda x: x.part_num)  # Follows nested alts/molds relationships
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_alts_and_molds(829)
      part_rel_flat = PartRelationshipFlat.objects.get(part=self, am__isnull=False)
    
    
    SELECT "lego_partrelationshipflat"."part_id",
           "lego_partrelationshipflat"."a",
           "lego_partrelationshipflat"."m",
           "lego_partrelationshipflat"."p",
           "lego_partrelationshipflat"."am",
           "lego_partrelationshipflat"."ap",
           "lego_partrelationshipflat"."mp",
           "lego_partrelationshipflat"."amp"
      FROM
    "lego_partrelationshipflat"
     INNER JOIN
    "lego_part"
        ON
    ("lego_partrelationshipflat"."part_id" = "lego_part"."id")
      LEFT OUTER JOIN
    "lego_partstats"
        ON
    ("lego_part"."id" = "lego_partstats"."part_id")
     WHERE
    ("lego_partrelationshipflat"."am" = 1240722 AND NOT ("lego_partrelationshipflat"."part_id" = 1498))
     ORDER BY
    "lego_partstats"."num_sets" DESC
    SELECT ••• FROM "lego_partrelationshipflat" INNER JOIN "lego_part" ON ("lego_partrelationshipflat"."part_id" = "lego_part"."id") LEFT OUTER JOIN "lego_partstats" ON ("lego_part"."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationshipflat"."am" = 1240722 AND NOT ("lego_partrelationshipflat"."part_id" = 1498)) ORDER BY "lego_partstats"."num_sets" DESC
    0.26

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(380)
      alts_molds = sorted(part.get_related_alts_and_molds(), key=lambda x: x.part_num)  # Follows nested alts/molds relationships
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_alts_and_molds(835)
      for p in parts:
    
    
    SELECT "lego_part"."id",
           "lego_part"."part_num",
           "lego_part"."name",
           "lego_part"."part_cat_id",
           "lego_part"."notes",
           "lego_part"."is_active",
           "lego_part"."search_vector",
           "lego_part"."ldraw_part_id",
           "lego_part"."bricklink_part_id",
           "lego_part"."ignore_color_errors",
           "lego_part"."part_material_id",
           "lego_part"."is_bricklink_minifig",
           "lego_part"."is_bricklink_book",
           "lego_part"."is_bricklink_gear",
           "lego_part"."show_generic_part_msg"
      FROM
    "lego_part"
     WHERE
    "lego_part"."id" = 57390
     LIMIT
    21
    SELECT ••• FROM "lego_part" WHERE "lego_part"."id" = 57390 LIMIT 21
    4 similar queries.
    0.09

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(380)
      alts_molds = sorted(part.get_related_alts_and_molds(), key=lambda x: x.part_num)  # Follows nested alts/molds relationships
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_alts_and_molds(837)
      p.part.is_alt = False
    
    
    SELECT "lego_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" = 3157
     LIMIT
    21
    SELECT ••• FROM "lego_part" WHERE "lego_part"."id" = 3157 LIMIT 21
    4 similar queries.
    0.08

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(380)
      alts_molds = sorted(part.get_related_alts_and_molds(), key=lambda x: x.part_num)  # Follows nested alts/molds relationships
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_alts_and_molds(837)
      p.part.is_alt = False
    
    
    SELECT "lego_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" = 13200
     LIMIT
    21
    SELECT ••• FROM "lego_part" WHERE "lego_part"."id" = 13200 LIMIT 21
    4 similar queries.
    0.07

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(380)
      alts_molds = sorted(part.get_related_alts_and_molds(), key=lambda x: x.part_num)  # Follows nested alts/molds relationships
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_alts_and_molds(837)
      p.part.is_alt = False
    
    
    SELECT "lego_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" = 68579
     LIMIT
    21
    SELECT ••• FROM "lego_part" WHERE "lego_part"."id" = 68579 LIMIT 21
    4 similar queries.
    0.07

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(380)
      alts_molds = sorted(part.get_related_alts_and_molds(), key=lambda x: x.part_num)  # Follows nested alts/molds relationships
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_alts_and_molds(837)
      p.part.is_alt = False
    
    
    SELECT "lego_partrelationship"."id",
           "lego_partrelationship"."part_parent_id",
           "lego_partrelationship"."part_child_id",
           "lego_partrelationship"."rel_type",
           T3."id",
           T3."part_num",
           T3."name",
           T3."part_cat_id",
           T3."notes",
           T3."is_active",
           T3."search_vector",
           T3."ldraw_part_id",
           T3."bricklink_part_id",
           T3."ignore_color_errors",
           T3."part_material_id",
           T3."is_bricklink_minifig",
           T3."is_bricklink_book",
           T3."is_bricklink_gear",
           T3."show_generic_part_msg",
           "lego_partcategory"."id",
           "lego_partcategory"."name",
           "lego_partcategory"."part_count",
           "lego_partcategory"."img",
           "lego_partcategory"."slug",
           "lego_partoverlay"."part_id",
           "lego_partoverlay"."length",
           "lego_partstats"."part_id",
           "lego_partstats"."num_sets",
           "lego_partstats"."num_mocs",
           "lego_partstats"."num_set_parts",
           "lego_partstats"."num_moc_parts",
           "lego_partstats"."y1",
           "lego_partstats"."y2",
           "lego_partstats"."is_dirty"
      FROM
    "lego_partrelationship"
     INNER JOIN
    "lego_part" T3
        ON
    ("lego_partrelationship"."part_child_id" = T3."id")
     INNER JOIN
    "lego_partcategory"
        ON
    (T3."part_cat_id" = "lego_partcategory"."id")
      LEFT OUTER JOIN
    "lego_partoverlay"
        ON
    (T3."id" = "lego_partoverlay"."part_id")
      LEFT OUTER JOIN
    "lego_partstats"
        ON
    (T3."id" = "lego_partstats"."part_id")
     WHERE
    ("lego_partrelationship"."part_parent_id" = 1498 AND "lego_partrelationship"."rel_type" = 'P' AND NOT ("lego_partrelationship"."part_child_id" = 1498))
     ORDER BY
    "lego_partstats"."num_sets" DESC
    SELECT ••• FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_child_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_parent_id" = 1498 AND "lego_partrelationship"."rel_type" = 'P' AND NOT ("lego_partrelationship"."part_child_id" = 1498)) ORDER BY "lego_partstats"."num_sets" DESC
    4 similar queries.
    0.51

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(383)
      prints = sorted(part.get_related_prints_child(), key=lambda x: x.part_num)
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_prints_child(750)
      return self.get_related_children(PartRelationship.REL_TYPE_PRINT, limit=limit)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_children(743)
      return [p.part_child for p in parts]
    
    
    SELECT "lego_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 (2029, 12216, 17779, 15613, 35784, 7310, 9920, 35783, 22402, 7599))
     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 (2029, 12216, 17779, 15613, 35784, 7310, 9920, 35783, 22402, 7599)) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
    0.24

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(383)
      prints = sorted(part.get_related_prints_child(), key=lambda x: x.part_num)
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_prints_child(750)
      return self.get_related_children(PartRelationship.REL_TYPE_PRINT, limit=limit)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_children(743)
      return [p.part_child for p in parts]
    
    
    SELECT "lego_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 (2029, 12216, 17779, 15613, 35784, 7310, 9920, 35783, 22402, 7599)
    SELECT ••• FROM "lego_partcolorstats" WHERE "lego_partcolorstats"."part_id" IN (2029, 12216, 17779, 15613, 35784, 7310, 9920, 35783, 22402, 7599)
    0.17

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(383)
      prints = sorted(part.get_related_prints_child(), key=lambda x: x.part_num)
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_prints_child(750)
      return self.get_related_children(PartRelationship.REL_TYPE_PRINT, limit=limit)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_children(743)
      return [p.part_child for p in parts]
    
    
    SELECT "lego_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 (2029, 12216, 17779, 15613, 35784, 7310, 9920, 35783, 22402, 7599)
    SELECT ••• FROM "lego_partcost" WHERE "lego_partcost"."part_id" IN (2029, 12216, 17779, 15613, 35784, 7310, 9920, 35783, 22402, 7599)
    0.16

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(383)
      prints = sorted(part.get_related_prints_child(), key=lambda x: x.part_num)
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_prints_child(750)
      return self.get_related_children(PartRelationship.REL_TYPE_PRINT, limit=limit)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_children(743)
      return [p.part_child for p in parts]
    
    
    SELECT "lego_partrelationship"."id",
           "lego_partrelationship"."part_parent_id",
           "lego_partrelationship"."part_child_id",
           "lego_partrelationship"."rel_type",
           T3."id",
           T3."part_num",
           T3."name",
           T3."part_cat_id",
           T3."notes",
           T3."is_active",
           T3."search_vector",
           T3."ldraw_part_id",
           T3."bricklink_part_id",
           T3."ignore_color_errors",
           T3."part_material_id",
           T3."is_bricklink_minifig",
           T3."is_bricklink_book",
           T3."is_bricklink_gear",
           T3."show_generic_part_msg",
           "lego_partcategory"."id",
           "lego_partcategory"."name",
           "lego_partcategory"."part_count",
           "lego_partcategory"."img",
           "lego_partcategory"."slug",
           "lego_partoverlay"."part_id",
           "lego_partoverlay"."length",
           "lego_partstats"."part_id",
           "lego_partstats"."num_sets",
           "lego_partstats"."num_mocs",
           "lego_partstats"."num_set_parts",
           "lego_partstats"."num_moc_parts",
           "lego_partstats"."y1",
           "lego_partstats"."y2",
           "lego_partstats"."is_dirty"
      FROM
    "lego_partrelationship"
     INNER JOIN
    "lego_part" T3
        ON
    ("lego_partrelationship"."part_child_id" = T3."id")
     INNER JOIN
    "lego_partcategory"
        ON
    (T3."part_cat_id" = "lego_partcategory"."id")
      LEFT OUTER JOIN
    "lego_partoverlay"
        ON
    (T3."id" = "lego_partoverlay"."part_id")
      LEFT OUTER JOIN
    "lego_partstats"
        ON
    (T3."id" = "lego_partstats"."part_id")
     WHERE
    ("lego_partrelationship"."part_parent_id" = 1498 AND "lego_partrelationship"."rel_type" = 'T' AND NOT ("lego_partrelationship"."part_child_id" = 1498))
     ORDER BY
    "lego_partstats"."num_sets" DESC
    SELECT ••• FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_child_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_parent_id" = 1498 AND "lego_partrelationship"."rel_type" = 'T' AND NOT ("lego_partrelationship"."part_child_id" = 1498)) ORDER BY "lego_partstats"."num_sets" DESC
    4 similar queries.
    0.36

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(384)
      patterns = sorted(part.get_related_patterns_child(), key=lambda x: x.part_num)
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_patterns_child(759)
      return self.get_related_children(PartRelationship.REL_TYPE_PATTERN, limit=limit)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_children(743)
      return [p.part_child for p in parts]
    
    
    SELECT "lego_partrelationship"."id",
           "lego_partrelationship"."part_parent_id",
           "lego_partrelationship"."part_child_id",
           "lego_partrelationship"."rel_type",
           T3."id",
           T3."part_num",
           T3."name",
           T3."part_cat_id",
           T3."notes",
           T3."is_active",
           T3."search_vector",
           T3."ldraw_part_id",
           T3."bricklink_part_id",
           T3."ignore_color_errors",
           T3."part_material_id",
           T3."is_bricklink_minifig",
           T3."is_bricklink_book",
           T3."is_bricklink_gear",
           T3."show_generic_part_msg",
           "lego_partcategory"."id",
           "lego_partcategory"."name",
           "lego_partcategory"."part_count",
           "lego_partcategory"."img",
           "lego_partcategory"."slug",
           "lego_partoverlay"."part_id",
           "lego_partoverlay"."length",
           "lego_partstats"."part_id",
           "lego_partstats"."num_sets",
           "lego_partstats"."num_mocs",
           "lego_partstats"."num_set_parts",
           "lego_partstats"."num_moc_parts",
           "lego_partstats"."y1",
           "lego_partstats"."y2",
           "lego_partstats"."is_dirty"
      FROM
    "lego_partrelationship"
     INNER JOIN
    "lego_part" T3
        ON
    ("lego_partrelationship"."part_child_id" = T3."id")
     INNER JOIN
    "lego_partcategory"
        ON
    (T3."part_cat_id" = "lego_partcategory"."id")
      LEFT OUTER JOIN
    "lego_partoverlay"
        ON
    (T3."id" = "lego_partoverlay"."part_id")
      LEFT OUTER JOIN
    "lego_partstats"
        ON
    (T3."id" = "lego_partstats"."part_id")
     WHERE
    ("lego_partrelationship"."part_parent_id" = 1498 AND "lego_partrelationship"."rel_type" = 'R' AND NOT ("lego_partrelationship"."part_child_id" = 1498))
     ORDER BY
    "lego_partstats"."num_sets" DESC
    SELECT ••• FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_child_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_parent_id" = 1498 AND "lego_partrelationship"."rel_type" = 'R' AND NOT ("lego_partrelationship"."part_child_id" = 1498)) ORDER BY "lego_partstats"."num_sets" DESC
    4 similar queries.
    0.39

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(385)
      pairs = part.get_related_pairs()
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_pairs(854)
      children = self.get_related_children(PartRelationship.REL_TYPE_PAIR)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_children(743)
      return [p.part_child for p in parts]
    
    
    SELECT "lego_partrelationship"."id",
           "lego_partrelationship"."part_parent_id",
           "lego_partrelationship"."part_child_id",
           "lego_partrelationship"."rel_type",
           T3."id",
           T3."part_num",
           T3."name",
           T3."part_cat_id",
           T3."notes",
           T3."is_active",
           T3."search_vector",
           T3."ldraw_part_id",
           T3."bricklink_part_id",
           T3."ignore_color_errors",
           T3."part_material_id",
           T3."is_bricklink_minifig",
           T3."is_bricklink_book",
           T3."is_bricklink_gear",
           T3."show_generic_part_msg",
           "lego_partcategory"."id",
           "lego_partcategory"."name",
           "lego_partcategory"."part_count",
           "lego_partcategory"."img",
           "lego_partcategory"."slug",
           "lego_partoverlay"."part_id",
           "lego_partoverlay"."length",
           "lego_partstats"."part_id",
           "lego_partstats"."num_sets",
           "lego_partstats"."num_mocs",
           "lego_partstats"."num_set_parts",
           "lego_partstats"."num_moc_parts",
           "lego_partstats"."y1",
           "lego_partstats"."y2",
           "lego_partstats"."is_dirty"
      FROM
    "lego_partrelationship"
     INNER JOIN
    "lego_part" T3
        ON
    ("lego_partrelationship"."part_parent_id" = T3."id")
     INNER JOIN
    "lego_partcategory"
        ON
    (T3."part_cat_id" = "lego_partcategory"."id")
      LEFT OUTER JOIN
    "lego_partoverlay"
        ON
    (T3."id" = "lego_partoverlay"."part_id")
      LEFT OUTER JOIN
    "lego_partstats"
        ON
    (T3."id" = "lego_partstats"."part_id")
     WHERE
    ("lego_partrelationship"."part_child_id" = 1498 AND "lego_partrelationship"."rel_type" = 'R' AND NOT ("lego_partrelationship"."part_parent_id" = 1498))
     ORDER BY
    "lego_partstats"."num_sets" DESC
    SELECT ••• FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_parent_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_child_id" = 1498 AND "lego_partrelationship"."rel_type" = 'R' AND NOT ("lego_partrelationship"."part_parent_id" = 1498)) ORDER BY "lego_partstats"."num_sets" DESC
    2 similar queries.
    0.36

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(385)
      pairs = part.get_related_pairs()
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_pairs(855)
      parents = self.get_related_parents(PartRelationship.REL_TYPE_PAIR)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_parents(714)
      return [p.part_parent for p in parts]
    
    
    SELECT "lego_partrelationship"."id",
           "lego_partrelationship"."part_parent_id",
           "lego_partrelationship"."part_child_id",
           "lego_partrelationship"."rel_type",
           T3."id",
           T3."part_num",
           T3."name",
           T3."part_cat_id",
           T3."notes",
           T3."is_active",
           T3."search_vector",
           T3."ldraw_part_id",
           T3."bricklink_part_id",
           T3."ignore_color_errors",
           T3."part_material_id",
           T3."is_bricklink_minifig",
           T3."is_bricklink_book",
           T3."is_bricklink_gear",
           T3."show_generic_part_msg",
           "lego_partcategory"."id",
           "lego_partcategory"."name",
           "lego_partcategory"."part_count",
           "lego_partcategory"."img",
           "lego_partcategory"."slug",
           "lego_partoverlay"."part_id",
           "lego_partoverlay"."length",
           "lego_partstats"."part_id",
           "lego_partstats"."num_sets",
           "lego_partstats"."num_mocs",
           "lego_partstats"."num_set_parts",
           "lego_partstats"."num_moc_parts",
           "lego_partstats"."y1",
           "lego_partstats"."y2",
           "lego_partstats"."is_dirty"
      FROM
    "lego_partrelationship"
     INNER JOIN
    "lego_part" T3
        ON
    ("lego_partrelationship"."part_parent_id" = T3."id")
     INNER JOIN
    "lego_partcategory"
        ON
    (T3."part_cat_id" = "lego_partcategory"."id")
      LEFT OUTER JOIN
    "lego_partoverlay"
        ON
    (T3."id" = "lego_partoverlay"."part_id")
      LEFT OUTER JOIN
    "lego_partstats"
        ON
    (T3."id" = "lego_partstats"."part_id")
     WHERE
    ("lego_partrelationship"."part_child_id" = 1498 AND "lego_partrelationship"."rel_type" = 'P')
     LIMIT
    1
    SELECT ••• FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_parent_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_child_id" = 1498 AND "lego_partrelationship"."rel_type" = 'P') LIMIT 1
    2 similar queries.
    0.40

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(386)
      print_of = part.get_related_prints_parent()
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_prints_parent(773)
      return self.get_related_parent(PartRelationship.REL_TYPE_PRINT, query_related=query_related)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_parent(727)
      return parents[0].part_parent
    
    
    SELECT "lego_partrelationship"."id",
           "lego_partrelationship"."part_parent_id",
           "lego_partrelationship"."part_child_id",
           "lego_partrelationship"."rel_type",
           T3."id",
           T3."part_num",
           T3."name",
           T3."part_cat_id",
           T3."notes",
           T3."is_active",
           T3."search_vector",
           T3."ldraw_part_id",
           T3."bricklink_part_id",
           T3."ignore_color_errors",
           T3."part_material_id",
           T3."is_bricklink_minifig",
           T3."is_bricklink_book",
           T3."is_bricklink_gear",
           T3."show_generic_part_msg",
           "lego_partcategory"."id",
           "lego_partcategory"."name",
           "lego_partcategory"."part_count",
           "lego_partcategory"."img",
           "lego_partcategory"."slug",
           "lego_partoverlay"."part_id",
           "lego_partoverlay"."length",
           "lego_partstats"."part_id",
           "lego_partstats"."num_sets",
           "lego_partstats"."num_mocs",
           "lego_partstats"."num_set_parts",
           "lego_partstats"."num_moc_parts",
           "lego_partstats"."y1",
           "lego_partstats"."y2",
           "lego_partstats"."is_dirty"
      FROM
    "lego_partrelationship"
     INNER JOIN
    "lego_part" T3
        ON
    ("lego_partrelationship"."part_parent_id" = T3."id")
     INNER JOIN
    "lego_partcategory"
        ON
    (T3."part_cat_id" = "lego_partcategory"."id")
      LEFT OUTER JOIN
    "lego_partoverlay"
        ON
    (T3."id" = "lego_partoverlay"."part_id")
      LEFT OUTER JOIN
    "lego_partstats"
        ON
    (T3."id" = "lego_partstats"."part_id")
     WHERE
    ("lego_partrelationship"."part_child_id" = 1498 AND "lego_partrelationship"."rel_type" = 'T')
     LIMIT
    1
    SELECT ••• FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_parent_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_child_id" = 1498 AND "lego_partrelationship"."rel_type" = 'T') LIMIT 1
    2 similar queries.
    0.40

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(387)
      pattern_of = part.get_related_patterns_parent()
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_patterns_parent(778)
      return self.get_related_parent(PartRelationship.REL_TYPE_PATTERN)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_parent(727)
      return parents[0].part_parent
    
    
    SELECT "lego_partrelationship"."id",
           "lego_partrelationship"."part_parent_id",
           "lego_partrelationship"."part_child_id",
           "lego_partrelationship"."rel_type",
           T3."id",
           T3."part_num",
           T3."name",
           T3."part_cat_id",
           T3."notes",
           T3."is_active",
           T3."search_vector",
           T3."ldraw_part_id",
           T3."bricklink_part_id",
           T3."ignore_color_errors",
           T3."part_material_id",
           T3."is_bricklink_minifig",
           T3."is_bricklink_book",
           T3."is_bricklink_gear",
           T3."show_generic_part_msg",
           "lego_partcategory"."id",
           "lego_partcategory"."name",
           "lego_partcategory"."part_count",
           "lego_partcategory"."img",
           "lego_partcategory"."slug",
           "lego_partoverlay"."part_id",
           "lego_partoverlay"."length",
           "lego_partstats"."part_id",
           "lego_partstats"."num_sets",
           "lego_partstats"."num_mocs",
           "lego_partstats"."num_set_parts",
           "lego_partstats"."num_moc_parts",
           "lego_partstats"."y1",
           "lego_partstats"."y2",
           "lego_partstats"."is_dirty"
      FROM
    "lego_partrelationship"
     INNER JOIN
    "lego_part" T3
        ON
    ("lego_partrelationship"."part_parent_id" = T3."id")
     INNER JOIN
    "lego_partcategory"
        ON
    (T3."part_cat_id" = "lego_partcategory"."id")
      LEFT OUTER JOIN
    "lego_partoverlay"
        ON
    (T3."id" = "lego_partoverlay"."part_id")
      LEFT OUTER JOIN
    "lego_partstats"
        ON
    (T3."id" = "lego_partstats"."part_id")
     WHERE
    ("lego_partrelationship"."part_child_id" = 1498 AND "lego_partrelationship"."rel_type" = 'B' AND NOT ("lego_partrelationship"."part_parent_id" = 1498))
     ORDER BY
    "lego_partstats"."num_sets" DESC
    SELECT ••• FROM "lego_partrelationship" INNER JOIN "lego_part" T3 ON ("lego_partrelationship"."part_parent_id" = T3."id") INNER JOIN "lego_partcategory" ON (T3."part_cat_id" = "lego_partcategory"."id") LEFT OUTER JOIN "lego_partoverlay" ON (T3."id" = "lego_partoverlay"."part_id") LEFT OUTER JOIN "lego_partstats" ON (T3."id" = "lego_partstats"."part_id") WHERE ("lego_partrelationship"."part_child_id" = 1498 AND "lego_partrelationship"."rel_type" = 'B' AND NOT ("lego_partrelationship"."part_parent_id" = 1498)) ORDER BY "lego_partstats"."num_sets" DESC
    2 similar queries.
    0.35

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(388)
      subpart_of = part.get_related_subparts_parents()
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_subparts_parents(801)
      return self.get_related_parents(PartRelationship.REL_TYPE_SUBPART)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_related_parents(714)
      return [p.part_parent for p in parts]
    
    
    select lego_color.id,
           lego_color.id as color_id,
           name as color_name,
           rgb,
           sum(num_set_parts) as num_set_parts,
           sum(num_moc_parts) as num_moc_parts,
           sum(num_sets) as num_sets,
           sum(num_mocs) as num_mocs,
           min(y1) as y1,
           max(y2) as y2
      from
    lego_color
      left outer join
    lego_PartColorStats
        on
    lego_PartColorStats.color_id = lego_Color.id
       and
    lego_PartColorStats.part_id = 1498
     where
    lego_color.id not in (-1)
     group by
    1,
           2,
           3,
           4
    select lego_color.id, lego_color.id as color_id, name as color_name, rgb, sum(num_set_parts) as num_set_parts, sum(num_moc_parts) as num_moc_parts, sum(num_sets) as num_sets, sum(num_mocs) as num_mocs, min(y1) as y1, max(y2) as y2 from lego_color left outer join lego_PartColorStats on lego_PartColorStats.color_id = lego_Color.id and lego_PartColorStats.part_id = 1498 where lego_color.id not in (-1) group by 1, 2, 3, 4
    0.35

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(418)
      context['part_colors'] = PartColorStats.get_all_color_stats_for_part(part.id)
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_all_color_stats_for_part(1767)
      for stat in stats:
    
    
    SELECT "lego_element"."id",
           "lego_element"."part_id",
           "lego_element"."color_id",
           "lego_element"."element_id",
           "lego_element"."design_id",
           "lego_element"."descr",
           "lego_element"."color_descr",
           "lego_element"."last_download_attempt",
           "lego_element"."num_download_attempts",
           "lego_element"."is_export_id",
           "lego_element"."is_active"
      FROM
    "lego_element"
     INNER JOIN
    "lego_color"
        ON
    ("lego_element"."color_id" = "lego_color"."id")
     WHERE
    ("lego_element"."is_active" AND "lego_element"."is_export_id" AND "lego_element"."part_id" = 1498)
     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"."is_export_id" AND "lego_element"."part_id" = 1498) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
    0.22

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(425)
      elements_map = {e.color_id: e for e in elements}
    
    
    SELECT "lego_partstats"."part_id",
           "lego_partstats"."num_sets",
           "lego_partstats"."num_mocs",
           "lego_partstats"."num_set_parts",
           "lego_partstats"."num_moc_parts",
           "lego_partstats"."y1",
           "lego_partstats"."y2",
           "lego_partstats"."is_dirty"
      FROM
    "lego_partstats"
     WHERE
    "lego_partstats"."part_id" = 13200
     LIMIT
    21
    SELECT ••• FROM "lego_partstats" WHERE "lego_partstats"."part_id" = 13200 LIMIT 21
    4 similar queries.
    0.11

    Connection: default

    Transaction status: In transaction

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(461)
      all_molds.sort(key=lambda x: x.stats.y1)
    
    /home/nathan/rb/site/./lego/views/parts.py in <lambda>(461)
      all_molds.sort(key=lambda x: x.stats.y1)
    
    /usr/lib/python3.10/contextlib.py in inner(79)
      return func(*args, **kwds)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
      .__get__(instance, instance_type)
    
    
    SELECT "lego_partstats"."part_id",
           "lego_partstats"."num_sets",
           "lego_partstats"."num_mocs",
           "lego_partstats"."num_set_parts",
           "lego_partstats"."num_moc_parts",
           "lego_partstats"."y1",
           "lego_partstats"."y2",
           "lego_partstats"."is_dirty"
      FROM
    "lego_partstats"
     WHERE
    "lego_partstats"."part_id" = 3157
     LIMIT
    21
    SELECT ••• FROM "lego_partstats" WHERE "lego_partstats"."part_id" = 3157 LIMIT 21
    4 similar queries.
    0.08

    Connection: default

    Transaction status: In transaction

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(461)
      all_molds.sort(key=lambda x: x.stats.y1)
    
    /home/nathan/rb/site/./lego/views/parts.py in <lambda>(461)
      all_molds.sort(key=lambda x: x.stats.y1)
    
    /usr/lib/python3.10/contextlib.py in inner(79)
      return func(*args, **kwds)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
      .__get__(instance, instance_type)
    
    
    SELECT "lego_partstats"."part_id",
           "lego_partstats"."num_sets",
           "lego_partstats"."num_mocs",
           "lego_partstats"."num_set_parts",
           "lego_partstats"."num_moc_parts",
           "lego_partstats"."y1",
           "lego_partstats"."y2",
           "lego_partstats"."is_dirty"
      FROM
    "lego_partstats"
     WHERE
    "lego_partstats"."part_id" = 68579
     LIMIT
    21
    SELECT ••• FROM "lego_partstats" WHERE "lego_partstats"."part_id" = 68579 LIMIT 21
    4 similar queries.
    0.09

    Connection: default

    Transaction status: In transaction

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(461)
      all_molds.sort(key=lambda x: x.stats.y1)
    
    /home/nathan/rb/site/./lego/views/parts.py in <lambda>(461)
      all_molds.sort(key=lambda x: x.stats.y1)
    
    /usr/lib/python3.10/contextlib.py in inner(79)
      return func(*args, **kwds)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
      .__get__(instance, instance_type)
    
    
    SELECT "lego_partstats"."part_id",
           "lego_partstats"."num_sets",
           "lego_partstats"."num_mocs",
           "lego_partstats"."num_set_parts",
           "lego_partstats"."num_moc_parts",
           "lego_partstats"."y1",
           "lego_partstats"."y2",
           "lego_partstats"."is_dirty"
      FROM
    "lego_partstats"
     WHERE
    "lego_partstats"."part_id" = 57390
     LIMIT
    21
    SELECT ••• FROM "lego_partstats" WHERE "lego_partstats"."part_id" = 57390 LIMIT 21
    4 similar queries.
    0.08

    Connection: default

    Transaction status: In transaction

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(461)
      all_molds.sort(key=lambda x: x.stats.y1)
    
    /home/nathan/rb/site/./lego/views/parts.py in <lambda>(461)
      all_molds.sort(key=lambda x: x.stats.y1)
    
    /usr/lib/python3.10/contextlib.py in inner(79)
      return func(*args, **kwds)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
      .__get__(instance, instance_type)
    
    
    select case                                    
                when
    s.set_type='Figure' then fs.year
                else
    s.year
                 end
    as year, count(*) as num_sets,
           min(s.id) as id
      FROM
    lego_baseset s
     INNER JOIN
    lego_inventory i
        on
    s.id = i.set_id
     INNER JOIN
    lego_invpart ip
        on
    i.id = ip.inventory_id
      left outer join
    lego_invset invs
        on
    s.id = invs.inv_set_id
       and
    s.set_type='Figure'
      left outer join
    lego_inventory fi
        on
    invs.inventory_id = fi.id
      left outer join
    lego_baseset fs
        on
    fi.set_id = fs.id
       and
    fs.set_type = 'Set'
     WHERE
    s.is_active
       AND
    i.is_active
       AND
    ip.part_id = 13200
       and
    (s.set_type = 'Set' or fs.year is not null)
       AND
    s.set_type IN ('Set', 'Figure')
     group by
    1
    select case when s.set_type='Figure' then fs.year else s.year end as year, count(*) as num_sets, min(s.id) as id FROM lego_baseset s INNER JOIN lego_inventory i on s.id = i.set_id INNER JOIN lego_invpart ip on i.id = ip.inventory_id left outer join lego_invset invs on s.id = invs.inv_set_id and s.set_type='Figure' left outer join lego_inventory fi on invs.inventory_id = fi.id left outer join lego_baseset fs on fi.set_id = fs.id and fs.set_type = 'Set' WHERE s.is_active AND i.is_active AND ip.part_id = 13200 and (s.set_type = 'Set' or fs.year is not null) AND s.set_type IN ('Set', 'Figure') group by 1
    16.49

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 941
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 941 LIMIT 21
    73 similar queries.
    0.14

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 7894
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 7894 LIMIT 21
    73 similar queries.
    0.07

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 3376
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 3376 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    select case                                    
                when
    s.set_type='Figure' then fs.year
                else
    s.year
                 end
    as year, count(*) as num_sets,
           min(s.id) as id
      FROM
    lego_baseset s
     INNER JOIN
    lego_inventory i
        on
    s.id = i.set_id
     INNER JOIN
    lego_invpart ip
        on
    i.id = ip.inventory_id
      left outer join
    lego_invset invs
        on
    s.id = invs.inv_set_id
       and
    s.set_type='Figure'
      left outer join
    lego_inventory fi
        on
    invs.inventory_id = fi.id
      left outer join
    lego_baseset fs
        on
    fi.set_id = fs.id
       and
    fs.set_type = 'Set'
     WHERE
    s.is_active
       AND
    i.is_active
       AND
    ip.part_id = 1498
       and
    (s.set_type = 'Set' or fs.year is not null)
       AND
    s.set_type IN ('Set', 'Figure')
     group by
    1
    select case when s.set_type='Figure' then fs.year else s.year end as year, count(*) as num_sets, min(s.id) as id FROM lego_baseset s INNER JOIN lego_inventory i on s.id = i.set_id INNER JOIN lego_invpart ip on i.id = ip.inventory_id left outer join lego_invset invs on s.id = invs.inv_set_id and s.set_type='Figure' left outer join lego_inventory fi on invs.inventory_id = fi.id left outer join lego_baseset fs on fi.set_id = fs.id and fs.set_type = 'Set' WHERE s.is_active AND i.is_active AND ip.part_id = 1498 and (s.set_type = 'Set' or fs.year is not null) AND s.set_type IN ('Set', 'Figure') group by 1
    109.23

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 330
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 330 LIMIT 21
    73 similar queries.
    0.17

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 104
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 104 LIMIT 21
    73 similar queries.
    0.08

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 131
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 131 LIMIT 21
    73 similar queries.
    0.07

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 101
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 101 LIMIT 21
    73 similar queries.
    0.07

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 2751
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 2751 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 1263
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 1263 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 1926
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 1926 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 2653
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 2653 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 956
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 956 LIMIT 21
    73 similar queries.
    0.17

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 709
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 709 LIMIT 21
    73 similar queries.
    0.07

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 274
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 274 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 261
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 261 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 157
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 157 LIMIT 21
    73 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 420
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 420 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 312
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 312 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 238
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 238 LIMIT 21
    73 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 581
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 581 LIMIT 21
    73 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 704
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 704 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 478
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 478 LIMIT 21
    73 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 78
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 78 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 223
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 223 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 205
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 205 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 47
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 47 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 546
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 546 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 582
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 582 LIMIT 21
    73 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 204
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 204 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 308
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 308 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 116
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 116 LIMIT 21
    73 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 84
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 84 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 15
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 15 LIMIT 21
    73 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 366
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 366 LIMIT 21
    73 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 2
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 2 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 66
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 66 LIMIT 21
    73 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 28
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 28 LIMIT 21
    73 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 3
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 3 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 14
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 14 LIMIT 21
    73 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 246
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 246 LIMIT 21
    73 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 123
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 123 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 36
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 36 LIMIT 21
    73 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 86
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 86 LIMIT 21
    73 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 484
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 484 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 172
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 172 LIMIT 21
    73 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 21279
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 21279 LIMIT 21
    73 similar queries.
    0.07

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 26265
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 26265 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 36551
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 36551 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 77255
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 77255 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 113791
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 113791 LIMIT 21
    73 similar queries. Duplicated 2 times.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 147070
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 147070 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 192322
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 192322 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 233803
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 233803 LIMIT 21
    73 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 298748
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 298748 LIMIT 21
    73 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    select case                                    
                when
    s.set_type='Figure' then fs.year
                else
    s.year
                 end
    as year, count(*) as num_sets,
           min(s.id) as id
      FROM
    lego_baseset s
     INNER JOIN
    lego_inventory i
        on
    s.id = i.set_id
     INNER JOIN
    lego_invpart ip
        on
    i.id = ip.inventory_id
      left outer join
    lego_invset invs
        on
    s.id = invs.inv_set_id
       and
    s.set_type='Figure'
      left outer join
    lego_inventory fi
        on
    invs.inventory_id = fi.id
      left outer join
    lego_baseset fs
        on
    fi.set_id = fs.id
       and
    fs.set_type = 'Set'
     WHERE
    s.is_active
       AND
    i.is_active
       AND
    ip.part_id = 3157
       and
    (s.set_type = 'Set' or fs.year is not null)
       AND
    s.set_type IN ('Set', 'Figure')
     group by
    1
    select case when s.set_type='Figure' then fs.year else s.year end as year, count(*) as num_sets, min(s.id) as id FROM lego_baseset s INNER JOIN lego_inventory i on s.id = i.set_id INNER JOIN lego_invpart ip on i.id = ip.inventory_id left outer join lego_invset invs on s.id = invs.inv_set_id and s.set_type='Figure' left outer join lego_inventory fi on invs.inventory_id = fi.id left outer join lego_baseset fs on fi.set_id = fs.id and fs.set_type = 'Set' WHERE s.is_active AND i.is_active AND ip.part_id = 3157 and (s.set_type = 'Set' or fs.year is not null) AND s.set_type IN ('Set', 'Figure') group by 1
    17.55

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 489
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 489 LIMIT 21
    73 similar queries.
    0.09

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 1866
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 1866 LIMIT 21
    73 similar queries.
    0.07

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 5429
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 5429 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 9782
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 9782 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 8172
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 8172 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 6588
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 6588 LIMIT 21
    73 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 8724
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 8724 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 8479
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 8479 LIMIT 21
    73 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 5005
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 5005 LIMIT 21
    73 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 34982
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 34982 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    select case                                    
                when
    s.set_type='Figure' then fs.year
                else
    s.year
                 end
    as year, count(*) as num_sets,
           min(s.id) as id
      FROM
    lego_baseset s
     INNER JOIN
    lego_inventory i
        on
    s.id = i.set_id
     INNER JOIN
    lego_invpart ip
        on
    i.id = ip.inventory_id
      left outer join
    lego_invset invs
        on
    s.id = invs.inv_set_id
       and
    s.set_type='Figure'
      left outer join
    lego_inventory fi
        on
    invs.inventory_id = fi.id
      left outer join
    lego_baseset fs
        on
    fi.set_id = fs.id
       and
    fs.set_type = 'Set'
     WHERE
    s.is_active
       AND
    i.is_active
       AND
    ip.part_id = 57390
       and
    (s.set_type = 'Set' or fs.year is not null)
       AND
    s.set_type IN ('Set', 'Figure')
     group by
    1
    select case when s.set_type='Figure' then fs.year else s.year end as year, count(*) as num_sets, min(s.id) as id FROM lego_baseset s INNER JOIN lego_inventory i on s.id = i.set_id INNER JOIN lego_invpart ip on i.id = ip.inventory_id left outer join lego_invset invs on s.id = invs.inv_set_id and s.set_type='Figure' left outer join lego_inventory fi on invs.inventory_id = fi.id left outer join lego_baseset fs on fi.set_id = fs.id and fs.set_type = 'Set' WHERE s.is_active AND i.is_active AND ip.part_id = 57390 and (s.set_type = 'Set' or fs.year is not null) AND s.set_type IN ('Set', 'Figure') group by 1
    57.01

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 281898
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 281898 LIMIT 21
    73 similar queries.
    0.16

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 1287
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 1287 LIMIT 21
    73 similar queries.
    0.07

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 79068
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 79068 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 113791
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 113791 LIMIT 21
    73 similar queries. Duplicated 2 times.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 147087
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 147087 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 191368
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 191368 LIMIT 21
    73 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 236363
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 236363 LIMIT 21
    73 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 300462
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 300462 LIMIT 21
    73 similar queries.
    0.10

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    select case                                    
                when
    s.set_type='Figure' then fs.year
                else
    s.year
                 end
    as year, count(*) as num_sets,
           min(s.id) as id
      FROM
    lego_baseset s
     INNER JOIN
    lego_inventory i
        on
    s.id = i.set_id
     INNER JOIN
    lego_invpart ip
        on
    i.id = ip.inventory_id
      left outer join
    lego_invset invs
        on
    s.id = invs.inv_set_id
       and
    s.set_type='Figure'
      left outer join
    lego_inventory fi
        on
    invs.inventory_id = fi.id
      left outer join
    lego_baseset fs
        on
    fi.set_id = fs.id
       and
    fs.set_type = 'Set'
     WHERE
    s.is_active
       AND
    i.is_active
       AND
    ip.part_id = 68579
       and
    (s.set_type = 'Set' or fs.year is not null)
       AND
    s.set_type IN ('Set', 'Figure')
     group by
    1
    select case when s.set_type='Figure' then fs.year else s.year end as year, count(*) as num_sets, min(s.id) as id FROM lego_baseset s INNER JOIN lego_inventory i on s.id = i.set_id INNER JOIN lego_invpart ip on i.id = ip.inventory_id left outer join lego_invset invs on s.id = invs.inv_set_id and s.set_type='Figure' left outer join lego_inventory fi on invs.inventory_id = fi.id left outer join lego_baseset fs on fi.set_id = fs.id and fs.set_type = 'Set' WHERE s.is_active AND i.is_active AND ip.part_id = 68579 and (s.set_type = 'Set' or fs.year is not null) AND s.set_type IN ('Set', 'Figure') group by 1
    16.30

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    
    SELECT "lego_baseset"."id",
           "lego_baseset"."theme_id"
      FROM
    "lego_baseset"
     WHERE
    "lego_baseset"."id" = 247367
     LIMIT
    21
    SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 247367 LIMIT 21
    73 similar queries.
    0.09

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(502)
      mold_timeline_data = DataPool(series=series)
    
    /home/nathan/rb/site/./chartit/chartdata.py in __init__(98)
      self._get_data()
    
    /home/nathan/rb/site/./chartit/chartdata.py in _get_data(156)
      for tk_td_tuples, vqs in self._generate_vqs():
    
    /home/nathan/rb/site/./chartit/chartdata.py in _generate_vqs(147)
      for v in vqs:
    
    /home/nathan/rb/site/./lego/models/sets.py in __init__(549)
      self.__original_theme_id = self.theme_id  # Need actual value or changes can't be detected
    
    
    SELECT "lego_changelog"."id",
           "lego_changelog"."timestamp",
           "lego_changelog"."user_id",
           "lego_changelog"."model",
           "lego_changelog"."instance_id",
           "lego_changelog"."set_num",
           "lego_changelog"."part_num",
           "lego_changelog"."old_value",
           "lego_changelog"."new_value"
      FROM
    "lego_changelog"
     WHERE
    ("lego_changelog"."instance_id" = 1498 AND "lego_changelog"."model" = 'Part')
     ORDER BY
    "lego_changelog"."timestamp" DESC
    SELECT ••• FROM "lego_changelog" WHERE ("lego_changelog"."instance_id" = 1498 AND "lego_changelog"."model" = 'Part') ORDER BY "lego_changelog"."timestamp" DESC
    2.46

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(598)
      changes = part.get_change_summary()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_change_summary(961)
      changes = ChangeLog.get_changes(part_id=self.id)
    
    /home/nathan/rb/site/./lego/models/changes.py in get_changes(276)
      if len(changes) > 0:
    
    
    SELECT "lego_partmap"."id",
           "lego_partmap"."part_id",
           "lego_partmap"."ext_system",
           "lego_partmap"."ext_id",
           "lego_partmap"."is_export_id",
           "lego_partmap"."is_import_id"
      FROM
    "lego_partmap"
     WHERE
    "lego_partmap"."part_id" = 1498
     ORDER BY
    "lego_partmap"."is_export_id" DESC, "lego_partmap"."ext_id" ASC
    SELECT ••• FROM "lego_partmap" WHERE "lego_partmap"."part_id" = 1498 ORDER BY "lego_partmap"."is_export_id" DESC, "lego_partmap"."ext_id" ASC
    0.12

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(600)
      context['mappings'] = part.get_ext_mappings()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_ext_mappings(1165)
      for part_map in self.mappings.order_by('-is_export_id', 'ext_id'):  # export first
    
    
    SELECT "countries_plus_country"."iso",
           "countries_plus_country"."iso3",
           "countries_plus_country"."iso_numeric",
           "countries_plus_country"."fips",
           "countries_plus_country"."name",
           "countries_plus_country"."capital",
           "countries_plus_country"."area",
           "countries_plus_country"."population",
           "countries_plus_country"."continent",
           "countries_plus_country"."tld",
           "countries_plus_country"."currency_code",
           "countries_plus_country"."currency_symbol",
           "countries_plus_country"."currency_name",
           "countries_plus_country"."phone",
           "countries_plus_country"."postal_code_format",
           "countries_plus_country"."postal_code_regex",
           "countries_plus_country"."languages",
           "countries_plus_country"."geonameid",
           "countries_plus_country"."neighbours",
           "countries_plus_country"."equivalent_fips_code"
      FROM
    "countries_plus_country"
     WHERE
    "countries_plus_country"."iso" = 'US'
     LIMIT
    21
    SELECT ••• FROM "countries_plus_country" WHERE "countries_plus_country"."iso" = 'US' LIMIT 21
    0.15

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./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_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"."id" = 0
     LIMIT
    21
    SELECT ••• FROM "lego_color" WHERE "lego_color"."id" = 0 LIMIT 21
    0.09

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    
    25 <div class="col-xs-4">
    26 {% if part.img_photo.img_url %}
    27 <a class="lightbox" href="/media/{{ part.img_photo.img_url }}" data-plugin-options='{"type":"image"}'
    28 title="{{ part.img_photo.photo.color.name }} submitted by {{ part.img_photo.photo.submitted_by.username }} on {{ part.img_photo.photo.timestamp }}">
    29 {% thumbs part.img_photo.img_url settings.THUMBS_OPTIONS_PART_LARGE as img %}
    30 <img class="img-responsive" data-src="{% cachebuster img.url %}" width="{{ img.width }}" height="{{ img.height }}">
    31 </a>
    32 {% else %}

    /home/nathan/rb/site/lego/templates/parts/includes/render_part_large_images.html

    SELECT "auth_user"."id",
           "auth_user"."password",
           "auth_user"."last_login",
           "auth_user"."is_superuser",
           "auth_user"."username",
           "auth_user"."first_name",
           "auth_user"."last_name",
           "auth_user"."email",
           "auth_user"."is_staff",
           "auth_user"."is_active",
           "auth_user"."date_joined"
      FROM
    "auth_user"
     WHERE
    "auth_user"."id" = 358403
     LIMIT
    21
    SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 358403 LIMIT 21
    3 similar queries.
    0.10

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    
    25 <div class="col-xs-4">
    26 {% if part.img_photo.img_url %}
    27 <a class="lightbox" href="/media/{{ part.img_photo.img_url }}" data-plugin-options='{"type":"image"}'
    28 title="{{ part.img_photo.photo.color.name }} submitted by {{ part.img_photo.photo.submitted_by.username }} on {{ part.img_photo.photo.timestamp }}">
    29 {% thumbs part.img_photo.img_url settings.THUMBS_OPTIONS_PART_LARGE as img %}
    30 <img class="img-responsive" data-src="{% cachebuster img.url %}" width="{{ img.width }}" height="{{ img.height }}">
    31 </a>
    32 {% else %}

    /home/nathan/rb/site/lego/templates/parts/includes/render_part_large_images.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",
           "lego_color"."id",
           "lego_color"."name",
           "lego_color"."rgb",
           "lego_color"."is_trans",
           "lego_color"."fuzzy_color_id",
           "lego_color"."is_active",
           "auth_user"."id",
           "auth_user"."password",
           "auth_user"."last_login",
           "auth_user"."is_superuser",
           "auth_user"."username",
           "auth_user"."first_name",
           "auth_user"."last_name",
           "auth_user"."email",
           "auth_user"."is_staff",
           "auth_user"."is_active",
           "auth_user"."date_joined"
      FROM
    "lego_partphoto"
     INNER JOIN
    "lego_color"
        ON
    ("lego_partphoto"."color_id" = "lego_color"."id")
     INNER JOIN
    "auth_user"
        ON
    ("lego_partphoto"."submitted_by_id" = "auth_user"."id")
     WHERE
    ("lego_partphoto"."is_active" AND NOT "lego_partphoto"."is_primary" AND "lego_partphoto"."part_id" = 1498)
    SELECT ••• FROM "lego_partphoto" INNER JOIN "lego_color" ON ("lego_partphoto"."color_id" = "lego_color"."id") INNER JOIN "auth_user" ON ("lego_partphoto"."submitted_by_id" = "auth_user"."id") WHERE ("lego_partphoto"."is_active" AND NOT "lego_partphoto"."is_primary" AND "lego_partphoto"."part_id" = 1498)
    0.51

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    
    55
    56 {% include 'parts/includes/render_part_large_images.html' %}
    57
    58 {% if secondary_photos %}
    59 <div class="clearfix">
    60 <div class="pull-right">
    61 There are <a href="#" class="js-toggle-field" data-field="#secondary_photos">
    62 {{ secondary_photos.count }} more photos <i class="fa fa-chevron-down"></i></a> of this Part

    /home/nathan/rb/site/lego/templates/parts/part_details.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" = 1498 AND "lego_partrelationship"."rel_type" = 'S')
    SELECT ••• FROM "lego_partrelationship" WHERE ("lego_partrelationship"."part_child_id" = 1498 AND "lego_partrelationship"."rel_type" = 'S')
    0.12

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_img(227)
      part_img = part.get_img_dir(color_id=color_id, force_use_ldraw=force_use_ldraw)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(607)
      similar_part = self.get_similar_part()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_similar_part(352)
      if parent_rel:
    
    
    153 <span style="display:none">{{ part_stat.color.hsv_str }}</span>
    154 <a href="{{ part_stat.url }}">
    155 <div style="max-height:45px; max-width:45px">
    156 {% render_part_img part_stat.color_id part=part %}
    157 </div>
    158 </a>
    159 </td>
    160 <td><a href="{{ part_stat.url }}">{{ part_stat.color.name }}</a></td>

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

    SELECT COUNT(*) AS "__count"
      FROM
    "threadedcomments_comment"
     INNER JOIN
    "django_comments"
        ON
    ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id")
     WHERE
    ("django_comments"."content_type_id" = 43 AND "django_comments"."object_pk" = '1498' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
    SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 43 AND "django_comments"."object_pk" = '1498' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
    2 similar queries. Duplicated 2 times.
    8.80

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
      context[self.as_varname] = self.get_context_value_from_queryset(context, qs)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
      return qs.count()
    
    
    198 <section class="padding-xxs">
    199
    200 <ul class="nav nav-tabs nav-top-border">
    201 {% get_comment_count for part as num_comments %}
    202 <li><a href="#tab_comments" data-toggle="tab">Comments <span class="badge badge-light">{{ num_comments }}</span></a>
    203 </li>
    204 <li><a href="#tab_buy_parts" data-toggle="tab">Buy Part <span class="badge badge-light" id="buy_parts_count"></span></a></li>
    205 <li class="active"><a href="#tab_rel_parts" data-toggle="tab">Related Parts <span class="badge badge-light" id="rel_parts_count">{{ part.related.total_rels }}</span></a></li>

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

    SELECT "django_content_type"."id",
           "django_content_type"."app_label",
           "django_content_type"."model"
      FROM
    "django_content_type"
     WHERE
    ("django_content_type"."app_label" = 'lego' AND "django_content_type"."model" = 'part')
     LIMIT
    21
    SELECT ••• FROM "django_content_type" WHERE ("django_content_type"."app_label" = 'lego' AND "django_content_type"."model" = 'part') LIMIT 21
    0.16

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./rb_comments/templatetags/rb_comments_filters.py in get_page_locked_status(78)
      content_type = ContentType.objects.get(app_label=page_content_type.split('.')[0], model=page_content_type.split('.')[1])
    
    
    4 {% load rb_comments_filters %}
    5
    6 <div id="comments-{{ page.id }}">
    7 {% get_page_locked_status content_type page.id as is_page_locked %}
    8
    9 {% comment %}
    10 Not using render_comment_list as it uses styles in ul/li that I can't seem to get working well with Smarty.
    11 Using fluent-comments to hide unused fields and do ajax add/reply comment.

    /home/nathan/rb/site/rb_comments/templates/comments/render_comment_list.html

    SELECT 1 AS "a"
      FROM
    "rb_comments_pagelocked"
     WHERE
    ("rb_comments_pagelocked"."content_type_id" = 43 AND "rb_comments_pagelocked"."object_id" = 1498)
     LIMIT
    1
    SELECT ••• FROM "rb_comments_pagelocked" WHERE ("rb_comments_pagelocked"."content_type_id" = 43 AND "rb_comments_pagelocked"."object_id" = 1498) LIMIT 1
    0.08

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./rb_comments/templatetags/rb_comments_filters.py in get_page_locked_status(79)
      is_locked = PageLocked.objects.filter(content_type=content_type, object_id=page_id).exists()
    
    
    4 {% load rb_comments_filters %}
    5
    6 <div id="comments-{{ page.id }}">
    7 {% get_page_locked_status content_type page.id as is_page_locked %}
    8
    9 {% comment %}
    10 Not using render_comment_list as it uses styles in ul/li that I can't seem to get working well with Smarty.
    11 Using fluent-comments to hide unused fields and do ajax add/reply comment.

    /home/nathan/rb/site/rb_comments/templates/comments/render_comment_list.html

    SELECT (SUBSTRING(tree_path, 1, 10)) AS "tree_path_root",
           "django_comments"."id",
           "django_comments"."content_type_id",
           "django_comments"."object_pk",
           "django_comments"."site_id",
           "django_comments"."user_id",
           "django_comments"."user_name",
           "django_comments"."user_email",
           "django_comments"."user_url",
           "django_comments"."comment",
           "django_comments"."submit_date",
           "django_comments"."ip_address",
           "django_comments"."is_public",
           "django_comments"."is_removed",
           "threadedcomments_comment"."comment_ptr_id",
           "threadedcomments_comment"."title",
           "threadedcomments_comment"."parent_id",
           "threadedcomments_comment"."last_child_id",
           "threadedcomments_comment"."tree_path",
           "threadedcomments_comment"."newest_activity",
           "auth_user"."id",
           "auth_user"."password",
           "auth_user"."last_login",
           "auth_user"."is_superuser",
           "auth_user"."username",
           "auth_user"."first_name",
           "auth_user"."last_name",
           "auth_user"."email",
           "auth_user"."is_staff",
           "auth_user"."is_active",
           "auth_user"."date_joined",
           "accounts_userplan"."user_id",
           "accounts_userplan"."plan_id",
           "accounts_userplan"."expiry_date",
           "accounts_userplan"."last_paid_date",
           "accounts_userplan"."is_subscription_active",
           "accounts_userplan"."subscription_period",
           "accounts_userplan"."payment_source",
           "accounts_userplan"."stripe_customer_id",
           "accounts_userplan"."stripe_subscription_id",
           "accounts_userplan"."paypal_subscription_id",
           "accounts_userplan"."base_free_plan_id",
           "accounts_userplan"."is_reminder_sent",
           "plans_plan"."id",
           "plans_plan"."type",
           "plans_plan"."version",
           "plans_plan"."stripe_id",
           "plans_plan"."paypal_id",
           "plans_plan"."cost_single",
           "plans_plan"."cost_monthly",
           "plans_plan"."cost_yearly",
           "accounts_userprofile"."user_id",
           "accounts_userprofile"."last_mod_inv",
           "accounts_userprofile"."last_activity",
           "accounts_userprofile"."last_ip",
           "accounts_userprofile"."last_country_id",
           "accounts_userprofile"."last_agent",
           "accounts_userprofile"."is_email_verified",
           "accounts_userprofile"."is_email_idle",
           "accounts_userprofile"."email_last_clicked",
           "accounts_userprofile"."api_token",
           "accounts_userprofile"."real_name",
           "accounts_userprofile"."location",
           "accounts_userprofile"."brickset_url",
           "accounts_userprofile"."mocpages_url",
           "accounts_userprofile"."flickr_url",
           "accounts_userprofile"."eurobricks_url",
           "accounts_userprofile"."youtube_url",
           "accounts_userprofile"."bricklink_url",
           "accounts_userprofile"."brickowl_url",
           "accounts_userprofile"."bricksafe_url",
           "accounts_userprofile"."website_url",
           "accounts_userprofile"."facebook_url",
           "accounts_userprofile"."twitter_url",
           "accounts_userprofile"."karma",
           "accounts_userprofile"."trophy_badge_id",
           "accounts_userprofile"."comments",
           "accounts_userprofile"."mfhash_vector",
           "accounts_userprofile"."is_muted",
           "accounts_userprofile"."is_banned",
           "accounts_userprofile"."is_suspected_pirate",
           "accounts_userprofile"."muted_until",
           "accounts_userprofile"."blocked_operations",
           "accounts_userprofile"."is_guest",
           "accounts_userprofile"."guest_token"
      FROM
    "threadedcomments_comment"
     INNER JOIN
    "django_comments"
        ON
    ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id")
      LEFT OUTER JOIN
    "auth_user"
        ON
    ("django_comments"."user_id" = "auth_user"."id")
      LEFT OUTER JOIN
    "accounts_userplan"
        ON
    ("auth_user"."id" = "accounts_userplan"."user_id")
      LEFT OUTER JOIN
    "plans_plan"
        ON
    ("accounts_userplan"."plan_id" = "plans_plan"."id")
      LEFT OUTER JOIN
    "accounts_userprofile"
        ON
    ("auth_user"."id" = "accounts_userprofile"."user_id")
     WHERE
    ("django_comments"."content_type_id" = 43 AND "django_comments"."object_pk" = '1498' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
     ORDER BY
    1 DESC, "threadedcomments_comment"."tree_path" ASC
    SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") LEFT OUTER JOIN "auth_user" ON ("django_comments"."user_id" = "auth_user"."id") LEFT OUTER JOIN "accounts_userplan" ON ("auth_user"."id" = "accounts_userplan"."user_id") LEFT OUTER JOIN "plans_plan" ON ("accounts_userplan"."plan_id" = "plans_plan"."id") LEFT OUTER JOIN "accounts_userprofile" ON ("auth_user"."id" = "accounts_userprofile"."user_id") WHERE ("django_comments"."content_type_id" = 43 AND "django_comments"."object_pk" = '1498' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed") ORDER BY 1 DESC, "threadedcomments_comment"."tree_path" ASC
    1.08

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(71)
      qs = self.get_queryset(context)
    
    /home/nathan/rb/site/./rb_comments/templatetags/rb_comments_filters.py in get_queryset(45)
      return qs[:50], len(qs)
    
    
    14 {% endcomment %}
    15 {% if not comment_list %}
    16 {# Get comments for a page #}
    17 {% get_rb_comment_list for page as comment_list %}
    18 {% get_comment_count for page as num_comments %}
    19
    20 {% if show_comment_count %}
    21 <div class="clearfix">

    /home/nathan/rb/site/rb_comments/templates/comments/render_comment_list.html

    SELECT ("auth_user_groups"."user_id") AS "_prefetch_related_val_user_id",
           "auth_group"."id",
           "auth_group"."name"
      FROM
    "auth_group"
     INNER JOIN
    "auth_user_groups"
        ON
    ("auth_group"."id" = "auth_user_groups"."group_id")
     WHERE
    "auth_user_groups"."user_id" IN (238228)
    SELECT ••• FROM "auth_group" INNER JOIN "auth_user_groups" ON ("auth_group"."id" = "auth_user_groups"."group_id") WHERE "auth_user_groups"."user_id" IN (238228)
    2 similar queries. Duplicated 2 times.
    0.12

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(71)
      qs = self.get_queryset(context)
    
    /home/nathan/rb/site/./rb_comments/templatetags/rb_comments_filters.py in get_queryset(45)
      return qs[:50], len(qs)
    
    
    14 {% endcomment %}
    15 {% if not comment_list %}
    16 {# Get comments for a page #}
    17 {% get_rb_comment_list for page as comment_list %}
    18 {% get_comment_count for page as num_comments %}
    19
    20 {% if show_comment_count %}
    21 <div class="clearfix">

    /home/nathan/rb/site/rb_comments/templates/comments/render_comment_list.html

    SELECT COUNT(*) AS "__count"
      FROM
    "threadedcomments_comment"
     INNER JOIN
    "django_comments"
        ON
    ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id")
     WHERE
    ("django_comments"."content_type_id" = 43 AND "django_comments"."object_pk" = '1498' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
    SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE ("django_comments"."content_type_id" = 43 AND "django_comments"."object_pk" = '1498' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
    2 similar queries. Duplicated 2 times.
    0.24

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/django_comments/templatetags/comments.py in render(72)
      context[self.as_varname] = self.get_context_value_from_queryset(context, qs)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/threadedcomments/templatetags/threadedcomments_tags.py in get_context_value_from_queryset(116)
      return qs.count()
    
    
    15 {% if not comment_list %}
    16 {# Get comments for a page #}
    17 {% get_rb_comment_list for page as comment_list %}
    18 {% get_comment_count for page as num_comments %}
    19
    20 {% if show_comment_count %}
    21 <div class="clearfix">
    22 <div class="heading-title heading-border-bottom heading-color">

    /home/nathan/rb/site/rb_comments/templates/comments/render_comment_list.html

    SELECT (SUBSTRING(tree_path, 1, 10)) AS "tree_path_root",
           "django_comments"."id",
           "django_comments"."content_type_id",
           "django_comments"."object_pk",
           "django_comments"."site_id",
           "django_comments"."user_id",
           "django_comments"."user_name",
           "django_comments"."user_email",
           "django_comments"."user_url",
           "django_comments"."comment",
           "django_comments"."submit_date",
           "django_comments"."ip_address",
           "django_comments"."is_public",
           "django_comments"."is_removed",
           "threadedcomments_comment"."comment_ptr_id",
           "threadedcomments_comment"."title",
           "threadedcomments_comment"."parent_id",
           "threadedcomments_comment"."last_child_id",
           "threadedcomments_comment"."tree_path",
           "threadedcomments_comment"."newest_activity",
           "auth_user"."id",
           "auth_user"."password",
           "auth_user"."last_login",
           "auth_user"."is_superuser",
           "auth_user"."username",
           "auth_user"."first_name",
           "auth_user"."last_name",
           "auth_user"."email",
           "auth_user"."is_staff",
           "auth_user"."is_active",
           "auth_user"."date_joined",
           "accounts_userplan"."user_id",
           "accounts_userplan"."plan_id",
           "accounts_userplan"."expiry_date",
           "accounts_userplan"."last_paid_date",
           "accounts_userplan"."is_subscription_active",
           "accounts_userplan"."subscription_period",
           "accounts_userplan"."payment_source",
           "accounts_userplan"."stripe_customer_id",
           "accounts_userplan"."stripe_subscription_id",
           "accounts_userplan"."paypal_subscription_id",
           "accounts_userplan"."base_free_plan_id",
           "accounts_userplan"."is_reminder_sent",
           "plans_plan"."id",
           "plans_plan"."type",
           "plans_plan"."version",
           "plans_plan"."stripe_id",
           "plans_plan"."paypal_id",
           "plans_plan"."cost_single",
           "plans_plan"."cost_monthly",
           "plans_plan"."cost_yearly",
           "accounts_userprofile"."user_id",
           "accounts_userprofile"."last_mod_inv",
           "accounts_userprofile"."last_activity",
           "accounts_userprofile"."last_ip",
           "accounts_userprofile"."last_country_id",
           "accounts_userprofile"."last_agent",
           "accounts_userprofile"."is_email_verified",
           "accounts_userprofile"."is_email_idle",
           "accounts_userprofile"."email_last_clicked",
           "accounts_userprofile"."api_token",
           "accounts_userprofile"."real_name",
           "accounts_userprofile"."location",
           "accounts_userprofile"."brickset_url",
           "accounts_userprofile"."mocpages_url",
           "accounts_userprofile"."flickr_url",
           "accounts_userprofile"."eurobricks_url",
           "accounts_userprofile"."youtube_url",
           "accounts_userprofile"."bricklink_url",
           "accounts_userprofile"."brickowl_url",
           "accounts_userprofile"."bricksafe_url",
           "accounts_userprofile"."website_url",
           "accounts_userprofile"."facebook_url",
           "accounts_userprofile"."twitter_url",
           "accounts_userprofile"."karma",
           "accounts_userprofile"."trophy_badge_id",
           "accounts_userprofile"."comments",
           "accounts_userprofile"."mfhash_vector",
           "accounts_userprofile"."is_muted",
           "accounts_userprofile"."is_banned",
           "accounts_userprofile"."is_suspected_pirate",
           "accounts_userprofile"."muted_until",
           "accounts_userprofile"."blocked_operations",
           "accounts_userprofile"."is_guest",
           "accounts_userprofile"."guest_token"
      FROM
    "threadedcomments_comment"
     INNER JOIN
    "django_comments"
        ON
    ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id")
      LEFT OUTER JOIN
    "auth_user"
        ON
    ("django_comments"."user_id" = "auth_user"."id")
      LEFT OUTER JOIN
    "accounts_userplan"
        ON
    ("auth_user"."id" = "accounts_userplan"."user_id")
      LEFT OUTER JOIN
    "plans_plan"
        ON
    ("accounts_userplan"."plan_id" = "plans_plan"."id")
      LEFT OUTER JOIN
    "accounts_userprofile"
        ON
    ("auth_user"."id" = "accounts_userprofile"."user_id")
     WHERE
    ("django_comments"."content_type_id" = 43 AND "django_comments"."object_pk" = '1498' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
     ORDER BY
    1 DESC, "threadedcomments_comment"."tree_path" ASC
     LIMIT
    50
    SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") LEFT OUTER JOIN "auth_user" ON ("django_comments"."user_id" = "auth_user"."id") LEFT OUTER JOIN "accounts_userplan" ON ("auth_user"."id" = "accounts_userplan"."user_id") LEFT OUTER JOIN "plans_plan" ON ("accounts_userplan"."plan_id" = "plans_plan"."id") LEFT OUTER JOIN "accounts_userprofile" ON ("auth_user"."id" = "accounts_userprofile"."user_id") WHERE ("django_comments"."content_type_id" = 43 AND "django_comments"."object_pk" = '1498' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed") ORDER BY 1 DESC, "threadedcomments_comment"."tree_path" ASC LIMIT 50
    0.71

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    
    89 {% with cache_timeout=user.is_authenticated|yesno:"0,300" %}
    90 {% cache cache_timeout 'comments_list_v2' request.user.is_authenticated page.id request.GET.page request.GET.showmore num_comments %}
    91
    92 <div class="comments {% if not comment_list.0 %} empty{% endif %} mb-30">
    93 {% if use_context %}
    94 {# Flat list of comments #}
    95 {% for comment in comment_list.0|make_proxy_users %}
    96 <ul class="comment list-unstyled comment-list-wrapper">

    /home/nathan/rb/site/rb_comments/templates/comments/render_comment_list.html

    SELECT ("auth_user_groups"."user_id") AS "_prefetch_related_val_user_id",
           "auth_group"."id",
           "auth_group"."name"
      FROM
    "auth_group"
     INNER JOIN
    "auth_user_groups"
        ON
    ("auth_group"."id" = "auth_user_groups"."group_id")
     WHERE
    "auth_user_groups"."user_id" IN (238228)
    SELECT ••• FROM "auth_group" INNER JOIN "auth_user_groups" ON ("auth_group"."id" = "auth_user_groups"."group_id") WHERE "auth_user_groups"."user_id" IN (238228)
    2 similar queries. Duplicated 2 times.
    0.11

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    
    89 {% with cache_timeout=user.is_authenticated|yesno:"0,300" %}
    90 {% cache cache_timeout 'comments_list_v2' request.user.is_authenticated page.id request.GET.page request.GET.showmore num_comments %}
    91
    92 <div class="comments {% if not comment_list.0 %} empty{% endif %} mb-30">
    93 {% if use_context %}
    94 {# Flat list of comments #}
    95 {% for comment in comment_list.0|make_proxy_users %}
    96 <ul class="comment list-unstyled comment-list-wrapper">

    /home/nathan/rb/site/rb_comments/templates/comments/render_comment_list.html

    SELECT "avatar_avatar"."id",
           "avatar_avatar"."user_id",
           "avatar_avatar"."primary",
           "avatar_avatar"."avatar",
           "avatar_avatar"."date_uploaded"
      FROM
    "avatar_avatar"
     WHERE
    "avatar_avatar"."user_id" = 238228
     ORDER BY
    "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
     LIMIT
    1
    SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 238228 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
    0.13

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./avatar/templatetags/avatar_tags.py in avatar_url(33)
      avatar_url = provider.get_avatar_url(user, size)
    
    /home/nathan/rb/site/./avatar/providers.py in get_avatar_url(48)
      avatar = get_primary_avatar(user, size)
    
    /home/nathan/rb/site/./avatar/utils.py in get_primary_avatar(120)
      avatar = user.avatar_set.order_by("-primary", "-date_uploaded")[0]
    
    
    36 {% if is_blocked %}
    37 <img data-src="{% static settings.AVATAR_DEFAULT_URL %}" class="comment-avatar" width="75px" height="75px">
    38 {% else %}
    39 <img data-src="{% avatar_url comment.user 75 %}" class="comment-avatar" width="75px" height="75px" alt="Avatar image for Rebrickable user {{ comment.user }}">
    40 {% endif %}
    41 {# collapse/expand child comments #}
    42 <div class="text-center pointer pt-10 js-collapse-comments" data-comment-id="{{ comment.id }}">
    43 <i class="fa fa-minus-square-o fa-lg"></i>

    /home/nathan/rb/site/rb_comments/templates/comments/comment.html

    SELECT "auth_user"."id",
           "auth_user"."password",
           "auth_user"."last_login",
           "auth_user"."is_superuser",
           "auth_user"."username",
           "auth_user"."first_name",
           "auth_user"."last_name",
           "auth_user"."email",
           "auth_user"."is_staff",
           "auth_user"."is_active",
           "auth_user"."date_joined",
           "lego_designer"."user_ptr_id",
           "lego_designer"."auto_approve",
           "lego_designer"."num_auto_approved",
           "lego_designer"."last_checked_for_moc_errors"
      FROM
    "lego_designer"
     INNER JOIN
    "auth_user"
        ON
    ("lego_designer"."user_ptr_id" = "auth_user"."id")
     WHERE
    "lego_designer"."user_ptr_id" = 238228
     LIMIT
    21
    SELECT ••• FROM "lego_designer" INNER JOIN "auth_user" ON ("lego_designer"."user_ptr_id" = "auth_user"."id") WHERE "lego_designer"."user_ptr_id" = 238228 LIMIT 21
    0.13

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./accounts/models/user_extras.py in get_rolename(618)
      elif hasattr(self, 'designer') and Moc.objects.filter(designer=self.designer).exists():
    
    
    57 {% elif page.is_moc and page.designer_id == comment.user_id %}
    58 <span class="label label-dark-blue" title="This user designed this MOC">Designed this MOC</span>
    59 {% else %}
    60 <span class="label label-info" title="{{ comment.user.get_rolename.1 }}">{{ comment.user.get_rolename.0 }}</span>
    61 {% endif %}
    62 {% if not comment.user.plan.is_free %}
    63 {% if comment.user.is_public_plan %}
    64 {{ comment.user.get_plan_html }}

    /home/nathan/rb/site/rb_comments/templates/comments/comment.html

    SELECT "lego_partmap"."id",
           "lego_partmap"."part_id",
           "lego_partmap"."ext_system",
           "lego_partmap"."ext_id",
           "lego_partmap"."is_export_id",
           "lego_partmap"."is_import_id"
      FROM
    "lego_partmap"
     WHERE
    ("lego_partmap"."ext_system" = 'BO' AND "lego_partmap"."is_export_id" AND "lego_partmap"."part_id" = 1498)
     LIMIT
    21
    SELECT ••• FROM "lego_partmap" WHERE ("lego_partmap"."ext_system" = 'BO' AND "lego_partmap"."is_export_id" AND "lego_partmap"."part_id" = 1498) LIMIT 21
    0.11

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_brickowl_num(1025)
      return PartMap.part_to_brickowl_id(self.id)
    
    /home/nathan/rb/site/./lego/models/parts.py in part_to_brickowl_id(2011)
      part_map = PartMap.objects.get(ext_system=rb.constants.systems.EXT_SYSTEM_BRICKOWL, part_id=part_id, is_export_id=True)
    
    
    221
    222 <div class="row mt-10 mb-10">
    223 <div class="col-md-6">
    224 <a href="https://www.brickowl.com/search/catalog?query={{ part.get_brickowl_num }}&utm_source=rebrickable">
    225 <button class="btn btn-default btn-block">
    226 <img src="{% static 'img/sites/bo.png' %}" class="store-icon-sm"> Search BrickOwl
    227 </button>
    228 </a>

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

    SELECT "lego_partcolorstats"."id",
           "lego_partcolorstats"."part_id",
           "lego_partcolorstats"."color_id",
           "lego_partcolorstats"."num_sets",
           "lego_partcolorstats"."num_mocs",
           "lego_partcolorstats"."num_set_parts",
           "lego_partcolorstats"."num_moc_parts",
           "lego_partcolorstats"."y1",
           "lego_partcolorstats"."y2",
           "lego_partcolorstats"."is_dirty",
           "lego_partcolorstats"."ignore_color_errors"
      FROM
    "lego_partcolorstats"
     WHERE
    ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 13200)
     ORDER BY
    "lego_partcolorstats"."num_set_parts" DESC
     LIMIT
    1
    SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 13200) ORDER BY "lego_partcolorstats"."num_set_parts" DESC LIMIT 1
    15 similar queries.
    0.18

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
      part_img = part.get_img_dir()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(536)
      most_common_color_id = self.get_most_common_color()
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_most_common_color(323)
      pcs = PartColorStats.objects.filter(part=self, num_sets__gt=0).order_by('-num_set_parts').first()
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

    /home/nathan/rb/site/lego/templates/parts/part_details.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" = 13200)
     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" = 13200) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
    4 similar queries.
    0.25

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
      part_img = part.get_img_dir()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(592)
      res['img_url'] = self.get_element_image(color_id=color_id or most_common_color_id)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_element_image(428)
      element, element_id = self.get_element_with_image(color_id=color_id)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_element_with_image(391)
      for e in self.elements.all():
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

    /home/nathan/rb/site/lego/templates/parts/part_details.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" = 13200)
    SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" = 13200)
    5 similar queries.
    0.10

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./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(602)
      photo_img, res['photo'] = self.get_photo_image(color_id=color_id or most_common_color_id)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_photo_image(473)
      for f in self.photos.all():  # prefetch for better performance
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "lego_partcategory"."id",
           "lego_partcategory"."name",
           "lego_partcategory"."part_count",
           "lego_partcategory"."img",
           "lego_partcategory"."slug"
      FROM
    "lego_partcategory"
     WHERE
    "lego_partcategory"."id" = 3
     LIMIT
    21
    SELECT ••• FROM "lego_partcategory" WHERE "lego_partcategory"."id" = 3 LIMIT 21
    4 similar queries. Duplicated 4 times.
    0.09

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(96)
      title += '\n' + part.part_cat.name
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "lego_partoverlay"."part_id",
           "lego_partoverlay"."length"
      FROM
    "lego_partoverlay"
     WHERE
    "lego_partoverlay"."part_id" = 13200
     LIMIT
    21
    SELECT ••• FROM "lego_partoverlay" WHERE "lego_partoverlay"."part_id" = 13200 LIMIT 21
    4 similar queries.
    0.08

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(100)
      if part.get_overlay():
    
    /home/nathan/rb/site/./lego/models/parts.py in get_overlay(308)
      return self.overlay
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "lego_partcolorstats"."id",
           "lego_partcolorstats"."part_id",
           "lego_partcolorstats"."color_id",
           "lego_partcolorstats"."num_sets",
           "lego_partcolorstats"."num_mocs",
           "lego_partcolorstats"."num_set_parts",
           "lego_partcolorstats"."num_moc_parts",
           "lego_partcolorstats"."y1",
           "lego_partcolorstats"."y2",
           "lego_partcolorstats"."is_dirty",
           "lego_partcolorstats"."ignore_color_errors"
      FROM
    "lego_partcolorstats"
     WHERE
    ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 3157)
     ORDER BY
    "lego_partcolorstats"."num_set_parts" DESC
     LIMIT
    1
    SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 3157) ORDER BY "lego_partcolorstats"."num_set_parts" DESC LIMIT 1
    15 similar queries.
    0.16

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
      part_img = part.get_img_dir()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(536)
      most_common_color_id = self.get_most_common_color()
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_most_common_color(323)
      pcs = PartColorStats.objects.filter(part=self, num_sets__gt=0).order_by('-num_set_parts').first()
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

    /home/nathan/rb/site/lego/templates/parts/part_details.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" = 3157)
     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" = 3157) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
    4 similar queries.
    0.17

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
      part_img = part.get_img_dir()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(592)
      res['img_url'] = self.get_element_image(color_id=color_id or most_common_color_id)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_element_image(428)
      element, element_id = self.get_element_with_image(color_id=color_id)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_element_with_image(391)
      for e in self.elements.all():
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

    /home/nathan/rb/site/lego/templates/parts/part_details.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" = 3157)
    SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" = 3157)
    5 similar queries.
    0.11

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./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(602)
      photo_img, res['photo'] = self.get_photo_image(color_id=color_id or most_common_color_id)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_photo_image(473)
      for f in self.photos.all():  # prefetch for better performance
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "lego_partcategory"."id",
           "lego_partcategory"."name",
           "lego_partcategory"."part_count",
           "lego_partcategory"."img",
           "lego_partcategory"."slug"
      FROM
    "lego_partcategory"
     WHERE
    "lego_partcategory"."id" = 3
     LIMIT
    21
    SELECT ••• FROM "lego_partcategory" WHERE "lego_partcategory"."id" = 3 LIMIT 21
    4 similar queries. Duplicated 4 times.
    0.10

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(96)
      title += '\n' + part.part_cat.name
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "lego_partoverlay"."part_id",
           "lego_partoverlay"."length"
      FROM
    "lego_partoverlay"
     WHERE
    "lego_partoverlay"."part_id" = 3157
     LIMIT
    21
    SELECT ••• FROM "lego_partoverlay" WHERE "lego_partoverlay"."part_id" = 3157 LIMIT 21
    4 similar queries.
    0.07

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(100)
      if part.get_overlay():
    
    /home/nathan/rb/site/./lego/models/parts.py in get_overlay(308)
      return self.overlay
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "lego_partcolorstats"."id",
           "lego_partcolorstats"."part_id",
           "lego_partcolorstats"."color_id",
           "lego_partcolorstats"."num_sets",
           "lego_partcolorstats"."num_mocs",
           "lego_partcolorstats"."num_set_parts",
           "lego_partcolorstats"."num_moc_parts",
           "lego_partcolorstats"."y1",
           "lego_partcolorstats"."y2",
           "lego_partcolorstats"."is_dirty",
           "lego_partcolorstats"."ignore_color_errors"
      FROM
    "lego_partcolorstats"
     WHERE
    ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 68579)
     ORDER BY
    "lego_partcolorstats"."num_set_parts" DESC
     LIMIT
    1
    SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 68579) ORDER BY "lego_partcolorstats"."num_set_parts" DESC LIMIT 1
    15 similar queries.
    0.13

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
      part_img = part.get_img_dir()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(536)
      most_common_color_id = self.get_most_common_color()
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_most_common_color(323)
      pcs = PartColorStats.objects.filter(part=self, num_sets__gt=0).order_by('-num_set_parts').first()
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

    /home/nathan/rb/site/lego/templates/parts/part_details.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" = 68579)
     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" = 68579) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
    4 similar queries.
    0.17

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
      part_img = part.get_img_dir()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(592)
      res['img_url'] = self.get_element_image(color_id=color_id or most_common_color_id)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_element_image(428)
      element, element_id = self.get_element_with_image(color_id=color_id)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_element_with_image(391)
      for e in self.elements.all():
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "lego_partcategory"."id",
           "lego_partcategory"."name",
           "lego_partcategory"."part_count",
           "lego_partcategory"."img",
           "lego_partcategory"."slug"
      FROM
    "lego_partcategory"
     WHERE
    "lego_partcategory"."id" = 3
     LIMIT
    21
    SELECT ••• FROM "lego_partcategory" WHERE "lego_partcategory"."id" = 3 LIMIT 21
    4 similar queries. Duplicated 4 times.
    0.08

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(96)
      title += '\n' + part.part_cat.name
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "lego_partoverlay"."part_id",
           "lego_partoverlay"."length"
      FROM
    "lego_partoverlay"
     WHERE
    "lego_partoverlay"."part_id" = 68579
     LIMIT
    21
    SELECT ••• FROM "lego_partoverlay" WHERE "lego_partoverlay"."part_id" = 68579 LIMIT 21
    4 similar queries.
    0.06

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(100)
      if part.get_overlay():
    
    /home/nathan/rb/site/./lego/models/parts.py in get_overlay(308)
      return self.overlay
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "lego_partcolorstats"."id",
           "lego_partcolorstats"."part_id",
           "lego_partcolorstats"."color_id",
           "lego_partcolorstats"."num_sets",
           "lego_partcolorstats"."num_mocs",
           "lego_partcolorstats"."num_set_parts",
           "lego_partcolorstats"."num_moc_parts",
           "lego_partcolorstats"."y1",
           "lego_partcolorstats"."y2",
           "lego_partcolorstats"."is_dirty",
           "lego_partcolorstats"."ignore_color_errors"
      FROM
    "lego_partcolorstats"
     WHERE
    ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 57390)
     ORDER BY
    "lego_partcolorstats"."num_set_parts" DESC
     LIMIT
    1
    SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 57390) ORDER BY "lego_partcolorstats"."num_set_parts" DESC LIMIT 1
    15 similar queries.
    0.20

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
      part_img = part.get_img_dir()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(536)
      most_common_color_id = self.get_most_common_color()
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_most_common_color(323)
      pcs = PartColorStats.objects.filter(part=self, num_sets__gt=0).order_by('-num_set_parts').first()
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

    /home/nathan/rb/site/lego/templates/parts/part_details.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" = 57390)
     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" = 57390) ORDER BY "lego_color"."name" ASC, "lego_element"."element_id" ASC
    4 similar queries.
    0.19

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
      part_img = part.get_img_dir()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(592)
      res['img_url'] = self.get_element_image(color_id=color_id or most_common_color_id)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_element_image(428)
      element, element_id = self.get_element_with_image(color_id=color_id)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_element_with_image(391)
      for e in self.elements.all():
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "lego_partcategory"."id",
           "lego_partcategory"."name",
           "lego_partcategory"."part_count",
           "lego_partcategory"."img",
           "lego_partcategory"."slug"
      FROM
    "lego_partcategory"
     WHERE
    "lego_partcategory"."id" = 3
     LIMIT
    21
    SELECT ••• FROM "lego_partcategory" WHERE "lego_partcategory"."id" = 3 LIMIT 21
    4 similar queries. Duplicated 4 times.
    0.12

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(96)
      title += '\n' + part.part_cat.name
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "lego_partoverlay"."part_id",
           "lego_partoverlay"."length"
      FROM
    "lego_partoverlay"
     WHERE
    "lego_partoverlay"."part_id" = 57390
     LIMIT
    21
    SELECT ••• FROM "lego_partoverlay" WHERE "lego_partoverlay"."part_id" = 57390 LIMIT 21
    4 similar queries.
    0.08

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(100)
      if part.get_overlay():
    
    /home/nathan/rb/site/./lego/models/parts.py in get_overlay(308)
      return self.overlay
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "lego_partcolorstats"."id",
           "lego_partcolorstats"."part_id",
           "lego_partcolorstats"."color_id",
           "lego_partcolorstats"."num_sets",
           "lego_partcolorstats"."num_mocs",
           "lego_partcolorstats"."num_set_parts",
           "lego_partcolorstats"."num_moc_parts",
           "lego_partcolorstats"."y1",
           "lego_partcolorstats"."y2",
           "lego_partcolorstats"."is_dirty",
           "lego_partcolorstats"."ignore_color_errors"
      FROM
    "lego_partcolorstats"
     WHERE
    ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 2029)
     ORDER BY
    "lego_partcolorstats"."num_set_parts" DESC
     LIMIT
    1
    SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 2029) ORDER BY "lego_partcolorstats"."num_set_parts" DESC LIMIT 1
    15 similar queries.
    0.16

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
      part_img = part.get_img_dir()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(536)
      most_common_color_id = self.get_most_common_color()
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_most_common_color(323)
      pcs = PartColorStats.objects.filter(part=self, num_sets__gt=0).order_by('-num_set_parts').first()
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "lego_partcolorstats"."id",
           "lego_partcolorstats"."part_id",
           "lego_partcolorstats"."color_id",
           "lego_partcolorstats"."num_sets",
           "lego_partcolorstats"."num_mocs",
           "lego_partcolorstats"."num_set_parts",
           "lego_partcolorstats"."num_moc_parts",
           "lego_partcolorstats"."y1",
           "lego_partcolorstats"."y2",
           "lego_partcolorstats"."is_dirty",
           "lego_partcolorstats"."ignore_color_errors"
      FROM
    "lego_partcolorstats"
     WHERE
    ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 12216)
     ORDER BY
    "lego_partcolorstats"."num_set_parts" DESC
     LIMIT
    1
    SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 12216) ORDER BY "lego_partcolorstats"."num_set_parts" DESC LIMIT 1
    15 similar queries.
    0.11

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
      part_img = part.get_img_dir()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(536)
      most_common_color_id = self.get_most_common_color()
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_most_common_color(323)
      pcs = PartColorStats.objects.filter(part=self, num_sets__gt=0).order_by('-num_set_parts').first()
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "lego_partcolorstats"."id",
           "lego_partcolorstats"."part_id",
           "lego_partcolorstats"."color_id",
           "lego_partcolorstats"."num_sets",
           "lego_partcolorstats"."num_mocs",
           "lego_partcolorstats"."num_set_parts",
           "lego_partcolorstats"."num_moc_parts",
           "lego_partcolorstats"."y1",
           "lego_partcolorstats"."y2",
           "lego_partcolorstats"."is_dirty",
           "lego_partcolorstats"."ignore_color_errors"
      FROM
    "lego_partcolorstats"
     WHERE
    ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 7310)
     ORDER BY
    "lego_partcolorstats"."num_set_parts" DESC
     LIMIT
    1
    SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 7310) ORDER BY "lego_partcolorstats"."num_set_parts" DESC LIMIT 1
    15 similar queries.
    0.10

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
      part_img = part.get_img_dir()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(536)
      most_common_color_id = self.get_most_common_color()
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_most_common_color(323)
      pcs = PartColorStats.objects.filter(part=self, num_sets__gt=0).order_by('-num_set_parts').first()
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "lego_partcolorstats"."id",
           "lego_partcolorstats"."part_id",
           "lego_partcolorstats"."color_id",
           "lego_partcolorstats"."num_sets",
           "lego_partcolorstats"."num_mocs",
           "lego_partcolorstats"."num_set_parts",
           "lego_partcolorstats"."num_moc_parts",
           "lego_partcolorstats"."y1",
           "lego_partcolorstats"."y2",
           "lego_partcolorstats"."is_dirty",
           "lego_partcolorstats"."ignore_color_errors"
      FROM
    "lego_partcolorstats"
     WHERE
    ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 7599)
     ORDER BY
    "lego_partcolorstats"."num_set_parts" DESC
     LIMIT
    1
    SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 7599) ORDER BY "lego_partcolorstats"."num_set_parts" DESC LIMIT 1
    15 similar queries.
    0.37

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
      part_img = part.get_img_dir()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(536)
      most_common_color_id = self.get_most_common_color()
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_most_common_color(323)
      pcs = PartColorStats.objects.filter(part=self, num_sets__gt=0).order_by('-num_set_parts').first()
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

    /home/nathan/rb/site/lego/templates/parts/part_details.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" = 7599)
    SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" = 7599)
    5 similar queries.
    0.08

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
      part_img = part.get_img_dir()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(602)
      photo_img, res['photo'] = self.get_photo_image(color_id=color_id or most_common_color_id)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_photo_image(484)
      for f in self.photos.all():  # prefetch for better performance
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "lego_partcolorstats"."id",
           "lego_partcolorstats"."part_id",
           "lego_partcolorstats"."color_id",
           "lego_partcolorstats"."num_sets",
           "lego_partcolorstats"."num_mocs",
           "lego_partcolorstats"."num_set_parts",
           "lego_partcolorstats"."num_moc_parts",
           "lego_partcolorstats"."y1",
           "lego_partcolorstats"."y2",
           "lego_partcolorstats"."is_dirty",
           "lego_partcolorstats"."ignore_color_errors"
      FROM
    "lego_partcolorstats"
     WHERE
    ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 17779)
     ORDER BY
    "lego_partcolorstats"."num_set_parts" DESC
     LIMIT
    1
    SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 17779) ORDER BY "lego_partcolorstats"."num_set_parts" DESC LIMIT 1
    15 similar queries.
    0.10

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
      part_img = part.get_img_dir()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(536)
      most_common_color_id = self.get_most_common_color()
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_most_common_color(323)
      pcs = PartColorStats.objects.filter(part=self, num_sets__gt=0).order_by('-num_set_parts').first()
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "lego_partcolorstats"."id",
           "lego_partcolorstats"."part_id",
           "lego_partcolorstats"."color_id",
           "lego_partcolorstats"."num_sets",
           "lego_partcolorstats"."num_mocs",
           "lego_partcolorstats"."num_set_parts",
           "lego_partcolorstats"."num_moc_parts",
           "lego_partcolorstats"."y1",
           "lego_partcolorstats"."y2",
           "lego_partcolorstats"."is_dirty",
           "lego_partcolorstats"."ignore_color_errors"
      FROM
    "lego_partcolorstats"
     WHERE
    ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 9920)
     ORDER BY
    "lego_partcolorstats"."num_set_parts" DESC
     LIMIT
    1
    SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 9920) ORDER BY "lego_partcolorstats"."num_set_parts" DESC LIMIT 1
    15 similar queries.
    0.10

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
      part_img = part.get_img_dir()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(536)
      most_common_color_id = self.get_most_common_color()
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_most_common_color(323)
      pcs = PartColorStats.objects.filter(part=self, num_sets__gt=0).order_by('-num_set_parts').first()
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

    /home/nathan/rb/site/lego/templates/parts/part_details.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" = 9920)
    SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" = 9920)
    5 similar queries.
    0.09

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
      part_img = part.get_img_dir()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(602)
      photo_img, res['photo'] = self.get_photo_image(color_id=color_id or most_common_color_id)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_photo_image(473)
      for f in self.photos.all():  # prefetch for better performance
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "lego_partcolorstats"."id",
           "lego_partcolorstats"."part_id",
           "lego_partcolorstats"."color_id",
           "lego_partcolorstats"."num_sets",
           "lego_partcolorstats"."num_mocs",
           "lego_partcolorstats"."num_set_parts",
           "lego_partcolorstats"."num_moc_parts",
           "lego_partcolorstats"."y1",
           "lego_partcolorstats"."y2",
           "lego_partcolorstats"."is_dirty",
           "lego_partcolorstats"."ignore_color_errors"
      FROM
    "lego_partcolorstats"
     WHERE
    ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 22402)
     ORDER BY
    "lego_partcolorstats"."num_set_parts" DESC
     LIMIT
    1
    SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 22402) ORDER BY "lego_partcolorstats"."num_set_parts" DESC LIMIT 1
    15 similar queries.
    0.10

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
      part_img = part.get_img_dir()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(536)
      most_common_color_id = self.get_most_common_color()
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_most_common_color(323)
      pcs = PartColorStats.objects.filter(part=self, num_sets__gt=0).order_by('-num_set_parts').first()
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

    /home/nathan/rb/site/lego/templates/parts/part_details.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" = 22402)
    SELECT ••• FROM "lego_partphoto" WHERE ("lego_partphoto"."is_active" AND "lego_partphoto"."part_id" = 22402)
    5 similar queries.
    0.08

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
      part_img = part.get_img_dir()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(602)
      photo_img, res['photo'] = self.get_photo_image(color_id=color_id or most_common_color_id)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_photo_image(484)
      for f in self.photos.all():  # prefetch for better performance
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "lego_partcolorstats"."id",
           "lego_partcolorstats"."part_id",
           "lego_partcolorstats"."color_id",
           "lego_partcolorstats"."num_sets",
           "lego_partcolorstats"."num_mocs",
           "lego_partcolorstats"."num_set_parts",
           "lego_partcolorstats"."num_moc_parts",
           "lego_partcolorstats"."y1",
           "lego_partcolorstats"."y2",
           "lego_partcolorstats"."is_dirty",
           "lego_partcolorstats"."ignore_color_errors"
      FROM
    "lego_partcolorstats"
     WHERE
    ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 35783)
     ORDER BY
    "lego_partcolorstats"."num_set_parts" DESC
     LIMIT
    1
    SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 35783) ORDER BY "lego_partcolorstats"."num_set_parts" DESC LIMIT 1
    15 similar queries.
    0.11

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
      part_img = part.get_img_dir()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(536)
      most_common_color_id = self.get_most_common_color()
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_most_common_color(323)
      pcs = PartColorStats.objects.filter(part=self, num_sets__gt=0).order_by('-num_set_parts').first()
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "lego_partcolorstats"."id",
           "lego_partcolorstats"."part_id",
           "lego_partcolorstats"."color_id",
           "lego_partcolorstats"."num_sets",
           "lego_partcolorstats"."num_mocs",
           "lego_partcolorstats"."num_set_parts",
           "lego_partcolorstats"."num_moc_parts",
           "lego_partcolorstats"."y1",
           "lego_partcolorstats"."y2",
           "lego_partcolorstats"."is_dirty",
           "lego_partcolorstats"."ignore_color_errors"
      FROM
    "lego_partcolorstats"
     WHERE
    ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 35784)
     ORDER BY
    "lego_partcolorstats"."num_set_parts" DESC
     LIMIT
    1
    SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 35784) ORDER BY "lego_partcolorstats"."num_set_parts" DESC LIMIT 1
    15 similar queries.
    0.10

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
      part_img = part.get_img_dir()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(536)
      most_common_color_id = self.get_most_common_color()
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_most_common_color(323)
      pcs = PartColorStats.objects.filter(part=self, num_sets__gt=0).order_by('-num_set_parts').first()
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "lego_partcolorstats"."id",
           "lego_partcolorstats"."part_id",
           "lego_partcolorstats"."color_id",
           "lego_partcolorstats"."num_sets",
           "lego_partcolorstats"."num_mocs",
           "lego_partcolorstats"."num_set_parts",
           "lego_partcolorstats"."num_moc_parts",
           "lego_partcolorstats"."y1",
           "lego_partcolorstats"."y2",
           "lego_partcolorstats"."is_dirty",
           "lego_partcolorstats"."ignore_color_errors"
      FROM
    "lego_partcolorstats"
     WHERE
    ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 15613)
     ORDER BY
    "lego_partcolorstats"."num_set_parts" DESC
     LIMIT
    1
    SELECT ••• FROM "lego_partcolorstats" WHERE ("lego_partcolorstats"."num_sets" > 0 AND "lego_partcolorstats"."part_id" = 15613) ORDER BY "lego_partcolorstats"."num_set_parts" DESC LIMIT 1
    15 similar queries.
    0.19

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part(134)
      return mark_safe(render_part_wrapper(part, sub_text, request=context['request']))
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in render_part_wrapper(133)
      return _render_part_in_color(part, sub_text=sub_text, request=request)
    
    /home/nathan/rb/site/./lego/templatetags/parts/drawing.py in _render_part_in_color(51)
      part_img = part.get_img_dir()
    
    /home/nathan/rb/site/./lego/models/parts.py in get_img_dir(536)
      most_common_color_id = self.get_most_common_color()
    
    /home/nathan/rb/site/./cache/utils.py in cache_wrapper(98)
      result = method(instance, *args, **kwargs)
    
    /home/nathan/rb/site/./lego/models/parts.py in get_most_common_color(323)
      pcs = PartColorStats.objects.filter(part=self, num_sets__gt=0).order_by('-num_set_parts').first()
    
    
    259 </div>
    260 <div class="col-md-10">
    261 {% for rel_part in rel_parts.parts %}
    262 {% render_part rel_part rel_part.get_part_years_html %}
    263 {% endfor %}
    264 </div>
    265 </div>
    266 {% endif %}

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

    SELECT "auth_user"."id",
           "auth_user"."password",
           "auth_user"."last_login",
           "auth_user"."is_superuser",
           "auth_user"."username",
           "auth_user"."first_name",
           "auth_user"."last_name",
           "auth_user"."email",
           "auth_user"."is_staff",
           "auth_user"."is_active",
           "auth_user"."date_joined"
      FROM
    "auth_user"
     WHERE
    "auth_user"."id" = 24425
     LIMIT
    21
    SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 24425 LIMIT 21
    3 similar queries.
    0.13

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    
    544 <section class="padding-xxs">
    545 <div>
    546 <small><i class="fa fa-fw fa-plus" title="Added"></i> {{ changes.added.timestamp }}
    547 {% if changes.added.user %}by
    548 <a href="{% url 'user_profile' changes.added.user.get_username %}">{{ changes.added.user.get_username }}</a>
    549 {% endif %}</small>
    550 </div>
    551 <div>

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

    SELECT "auth_user"."id",
           "auth_user"."password",
           "auth_user"."last_login",
           "auth_user"."is_superuser",
           "auth_user"."username",
           "auth_user"."first_name",
           "auth_user"."last_name",
           "auth_user"."email",
           "auth_user"."is_staff",
           "auth_user"."is_active",
           "auth_user"."date_joined"
      FROM
    "auth_user"
     WHERE
    "auth_user"."id" = 17788
     LIMIT
    21
    SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 17788 LIMIT 21
    3 similar queries.
    0.09

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    
    550 </div>
    551 <div>
    552 <small><i class="fa fa-fw fa-edit" title="Updated"></i> {{ changes.updated.timestamp }}
    553 {% if changes.updated.user %}by
    554 <a href="{% url 'user_profile' changes.updated.user.get_username %}">{{ changes.updated.user.get_username }}</a>
    555 {% endif %}</small>
    556 </div>
    557 <div class="mb-10">

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

    SELECT DISTINCT "taggit_tag"."id",
           "taggit_tag"."name",
           "taggit_tag"."slug",
           COUNT("lego_part"."id") AS "count"
      FROM
    "taggit_tag"
     INNER JOIN
    "taggit_taggeditem"
        ON
    ("taggit_tag"."id" = "taggit_taggeditem"."tag_id")
     INNER JOIN
    "django_content_type"
        ON
    ("taggit_taggeditem"."content_type_id" = "django_content_type"."id")
      LEFT OUTER JOIN
    "lego_part"
        ON
    ("taggit_taggeditem"."object_id" = "lego_part"."id" AND ("taggit_taggeditem"."content_type_id" IN (43,48)))
     INNER JOIN
    "taggit_taggeditem" T5
        ON
    ("taggit_tag"."id" = T5."tag_id")
     INNER JOIN
    "lego_part" T6
        ON
    (T5."object_id" = T6."id" AND (T5."content_type_id" IN (43,48)))
     WHERE
    ("django_content_type"."app_label" = 'lego' AND "django_content_type"."model" = 'part' AND T6."id" = 1498)
     GROUP BY
    "taggit_tag"."id"
    SELECT ••• FROM "taggit_tag" INNER JOIN "taggit_taggeditem" ON ("taggit_tag"."id" = "taggit_taggeditem"."tag_id") INNER JOIN "django_content_type" ON ("taggit_taggeditem"."content_type_id" = "django_content_type"."id") LEFT OUTER JOIN "lego_part" ON ("taggit_taggeditem"."object_id" = "lego_part"."id" AND ("taggit_taggeditem"."content_type_id" IN (43,48))) INNER JOIN "taggit_taggeditem" T5 ON ("taggit_tag"."id" = T5."tag_id") INNER JOIN "lego_part" T6 ON (T5."object_id" = T6."id" AND (T5."content_type_id" IN (43,48))) WHERE ("django_content_type"."app_label" = 'lego' AND "django_content_type"."model" = 'part' AND T6."id" = 1498) GROUP BY "taggit_tag"."id"
    2.68

    Connection: default

    Transaction status: Idle

    /home/nathan/rb/site/./lego/views/parts.py in find_parts(124)
      return part_details(request, slug1)
    
    /home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
      return fn(*args, **kw)
    
    /home/nathan/rb/site/./lego/views/parts.py in part_details(609)
      return render(request, 'parts/part_details.html', context)
    
    
    1 {# Simon wanted the id=tags as an anchor for his links #}
    2 <div class="clearfix anchor tags_list" id="{{ prefix }}tags">
    3 {% for tag in tags %}
    4 <a href="{% url 'find_parts' %}?tag={{ tag.id }}&show_unused=on&show_printed=on" class="tag {% if request.user.is_tagger %}deltag{% endif %}">
    5 <span class="txt">{{ tag.name }}</span>
    6 <span class="num">
    7 <span class="relative">

    /home/nathan/rb/site/lego/templates/parts/includes/render_tags.html

    Log messages

    No messages logged.