TIE/ad v1 Advanced Prototype

MOC-115434935 parts
  • MOC-115434 TIE/ad v1 Advanced Prototype
  • MOC-115434 TIE/ad v1 Advanced Prototype
  • MOC-115434 TIE/ad v1 Advanced Prototype
  • MOC-115434 TIE/ad v1 Advanced Prototype
  • MOC-115434 TIE/ad v1 Advanced Prototype
  • MOC-115434 TIE/ad v1 Advanced Prototype
  • MOC-115434 TIE/ad v1 Advanced Prototype
Buy:
PDF Building Instructions
Cost:
€9.99 EUR Have a coupon?
Want to see more MOCS like this? Create an account to find MOCs you can build from the parts you already own

FOLLOWERS

507

LIKES







  • Vehicle appearance: Star Wars Rebels


  • The TIE Advanced v1, or TIE/ad v1, was an experimental TIE fighter model of the Imperial Navy. It was heavily based off Republic Sienar Systems own Scimitar. 
    The starfighter was fitted with basic shields, and unlike the TIE Advanced x1, the v1's S-foils could fold in around the cockpit when not in flight, conserving hangar space.

    Unusual for a TIE model, it had solar panels only on the inside surface of the wings with armor on the outside surfaces in order to make it more resistant to lateral enemy fire. This resulted in low power output from the panels, requiring the engines to run on fuel instead of the solar reactor, which only powered weapons, sensors, and auxiliary systems.

    The TIE Advanced v1 was armed with dual chin mounted laser cannons, stronger than those of the TIE/ln space superiority starfighter, and a projectile launcher, used to fire tracking devices like the XX-23 S-thread tracker. Unlike most other TIE models, the v1 was outfitted with a hyperdrive and basic shields.

    • Model:

    -Minifig scale
    -Built and tested IRL
    -Swooshability: 3/5
    -Length: 12.5cm
    -Width: 27cm
    -Height: 23.3cm
    -Parts count: 935
    -3D view: HERE

    • Included is:

    -93 pages PDF instructions
    to your account to add or reply to comments.
    • Avatar image for Rebrickable user Romain38
      1 year, 1 month ago Romain38 Level 9
      Photos postées... construction sympa mais les ailes sont fragiles, pas possible de le faire tenir sur lui même sans un socle. Joli moc, bravo!!!
    • Avatar image for Rebrickable user Diplotim
      2 years, 1 month ago Diplotim Level 5
      A fun build with clear instructions. The end result hardly looks like Lego with a clever use of studless panels. Definitely a display-only model, parts of it can be quite fragile - especially the assembly created by 128-131: the attachment of which almost drive me bonkers!

      Great fun though and a super design.
    • Avatar image for Rebrickable user dertoerner
      2 years, 5 months ago dertoerner Level 4
      Hello there,

      i just build your rebels tie advanced - great model - are you on instagramm - i have a little #wip account there for my models and would love to mention you as the designer
      • Avatar image for Rebrickable user TIEbreak
        2 years, 5 months ago TIEbreak Level 13 Designed this MOC
        Hi! No instagram, but you can mention me, no problem ;-)

    Rebrickable does not sell LEGO Parts.

    We provide links to third-party stores that sell LEGO products. If you use these stores, you are not buying from Rebrickable. Click the button below to search the stores.

    DJDT

    Time

    Resource usage

    Resource Value
    User CPU time 529.659 msec
    System CPU time 8.168 msec
    Total CPU time 537.827 msec
    Elapsed time 573.908 msec
    Context switches 217 voluntary, 9 involuntary

    Browser timing

    Timing attribute Timeline Milliseconds since navigation start (+length)

    SQL queries from 1 connection

    • default 42.94 ms (122 queries including 103 similar and 83 duplicates )
    Query Timeline Time (ms) Action
    SELECT "lego_baseset"."id",
           "lego_baseset"."set_num",
           "lego_baseset"."name",
           "lego_baseset"."year",
           "lego_baseset"."theme_id",
           "lego_baseset"."set_type",
           "lego_baseset"."num_parts",
           "lego_baseset"."default_inventory_id",
           "lego_baseset"."is_active",
           "lego_baseset"."is_accessory",
           "lego_baseset"."added_dt",
           "lego_baseset"."added_by_id",
           "lego_baseset"."last_modified_dt",
           "lego_baseset"."last_modified_by_id",
           "lego_baseset"."last_checked_for_bi",
           "lego_baseset"."descr",
           "lego_baseset"."primary_photo_id",
           "lego_baseset"."is_gear",
           "lego_baseset"."is_book",
           "lego_baseset"."search_vector",
           "lego_baseset"."mfhash_vector",
           "lego_moc"."baseset_ptr_id",
           "lego_moc"."designer_id",
           "lego_moc"."detail_url",
           "lego_moc"."gallery_url",
           "lego_moc"."bi_url",
           "lego_moc"."cad_url",
           "lego_moc"."video",
           "lego_moc"."bi_type",
           "lego_moc"."is_for_sale",
           "lego_moc"."is_hosted",
           "lego_moc"."cost",
           "lego_moc"."currency_id",
           "lego_moc"."parent_set_1_id",
           "lego_moc"."parent_set_2_id",
           "lego_moc"."parent_set_3_id",
           "lego_moc"."parent_set_4_id",
           "lego_moc"."parent_set_5_id",
           "lego_moc"."parent_inv_1_id",
           "lego_moc"."parent_inv_2_id",
           "lego_moc"."parent_inv_3_id",
           "lego_moc"."parent_inv_4_id",
           "lego_moc"."parent_inv_5_id",
           "lego_moc"."parent_type",
           "lego_moc"."is_allowed_premium",
           "lego_moc"."is_locked",
           "lego_moc"."last_social_post",
           "lego_moc"."is_review_requested",
           "lego_theme"."id",
           "lego_theme"."parent_id",
           "lego_theme"."name",
           "lego_theme"."slug",
           "lego_theme"."set_count",
           "lego_theme"."t1_id",
           "lego_theme"."t1_name",
           "lego_theme"."t2_name",
           "lego_theme"."t3_name",
           "lego_theme"."lego_blurb",
           "lego_theme"."banner_img",
           "lego_theme"."descr",
           T4."id",
           T4."parent_id",
           T4."name",
           T4."slug",
           T4."set_count",
           T4."t1_id",
           T4."t1_name",
           T4."t2_name",
           T4."t3_name",
           T4."lego_blurb",
           T4."banner_img",
           T4."descr",
           T5."id",
           T5."parent_id",
           T5."name",
           T5."slug",
           T5."set_count",
           T5."t1_id",
           T5."t1_name",
           T5."t2_name",
           T5."t3_name",
           T5."lego_blurb",
           T5."banner_img",
           T5."descr",
           "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",
           "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",
           T10."id",
           T10."set_num",
           T10."name",
           T10."year",
           T10."theme_id",
           T10."set_type",
           T10."num_parts",
           T10."default_inventory_id",
           T10."is_active",
           T10."is_accessory",
           T10."added_dt",
           T10."added_by_id",
           T10."last_modified_dt",
           T10."last_modified_by_id",
           T10."last_checked_for_bi",
           T10."descr",
           T10."primary_photo_id",
           T10."is_gear",
           T10."is_book",
           T10."search_vector",
           T10."mfhash_vector",
           "lego_setstatstotal"."set_id",
           "lego_setstatstotal"."hits",
           "lego_setstatstotal"."builds",
           "lego_setstatstotal"."likes",
           "lego_setstatstotal"."bi_downloads",
           "lego_setstatstotal"."featured_hits",
           "lego_setstatstotal"."user_hits"
      FROM
    "lego_moc"
     INNER JOIN
    "lego_baseset"
        ON
    ("lego_moc"."baseset_ptr_id" = "lego_baseset"."id")
     INNER JOIN
    "lego_theme"
        ON
    ("lego_baseset"."theme_id" = "lego_theme"."id")
      LEFT OUTER JOIN
    "lego_theme" T4
        ON
    ("lego_theme"."parent_id" = T4."id")
      LEFT OUTER JOIN
    "lego_theme" T5
        ON
    (T4."parent_id" = T5."id")
     INNER JOIN
    "lego_designer"
        ON
    ("lego_moc"."designer_id" = "lego_designer"."user_ptr_id")
     INNER JOIN
    "auth_user"
        ON
    ("lego_designer"."user_ptr_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
    "lego_baseset" T10
        ON
    ("lego_moc"."parent_set_1_id" = T10."id")
      LEFT OUTER JOIN
    "lego_setstatstotal"
        ON
    ("lego_baseset"."id" = "lego_setstatstotal"."set_id")
     WHERE
    "lego_baseset"."set_num" = 'MOC-115434'
     LIMIT
    21
    SELECT ••• FROM "lego_moc" INNER JOIN "lego_baseset" ON ("lego_moc"."baseset_ptr_id" = "lego_baseset"."id") INNER JOIN "lego_theme" ON ("lego_baseset"."theme_id" = "lego_theme"."id") LEFT OUTER JOIN "lego_theme" T4 ON ("lego_theme"."parent_id" = T4."id") LEFT OUTER JOIN "lego_theme" T5 ON (T4."parent_id" = T5."id") INNER JOIN "lego_designer" ON ("lego_moc"."designer_id" = "lego_designer"."user_ptr_id") INNER JOIN "auth_user" ON ("lego_designer"."user_ptr_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 "lego_baseset" T10 ON ("lego_moc"."parent_set_1_id" = T10."id") LEFT OUTER JOIN "lego_setstatstotal" ON ("lego_baseset"."id" = "lego_setstatstotal"."set_id") WHERE "lego_baseset"."set_num" = 'MOC-115434' LIMIT 21
    15.38

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(423)
      moc = Moc.all_objects.select_related('designer', 'stats').get(set_num=set_num)
    
    
    SELECT DISTINCT ("taggit_taggeditem"."object_id") AS "_prefetch_related_val",
           "taggit_tag"."id",
           "taggit_tag"."name",
           "taggit_tag"."slug"
      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")
     WHERE
    ("django_content_type"."app_label" = 'lego' AND "django_content_type"."model" = 'moc' AND "taggit_taggeditem"."object_id" IN (138609))
    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") WHERE ("django_content_type"."app_label" = 'lego' AND "django_content_type"."model" = 'moc' AND "taggit_taggeditem"."object_id" IN (138609))
    0.59

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(423)
      moc = Moc.all_objects.select_related('designer', 'stats').get(set_num=set_num)
    
    
    SELECT "lego_inventory"."id",
           "lego_inventory"."set_id",
           "lego_inventory"."version",
           "lego_inventory"."name",
           "lego_inventory"."is_active",
           "lego_inventory"."num_parts",
           "lego_inventory"."num_versions"
      FROM
    "lego_inventory"
     WHERE
    ("lego_inventory"."set_id" = 138609 AND "lego_inventory"."version" = 1)
     LIMIT
    21
    SELECT ••• FROM "lego_inventory" WHERE ("lego_inventory"."set_id" = 138609 AND "lego_inventory"."version" = 1) LIMIT 21
    0.10

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(523)
      inventory = get_object_or_404(Inventory.all_objects, set=moc, version=inventory_version)
    
    
    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"."set_num" = 'MOC-115434'
     ORDER BY
    "lego_changelog"."timestamp" DESC
    SELECT ••• FROM "lego_changelog" WHERE "lego_changelog"."set_num" = 'MOC-115434' ORDER BY "lego_changelog"."timestamp" DESC
    1.33

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(538)
      changes = moc.get_change_summary()
    
    /home/nathan/rb/site/./lego/models/sets.py in get_change_summary(1121)
      changes = ChangeLog.get_changes(set_num=self.set_num)
    
    /home/nathan/rb/site/./lego/models/changes.py in get_changes(276)
      if len(changes) > 0:
    
    
    SELECT "lego_designerdiscount"."id",
           "lego_designerdiscount"."designer_id",
           "lego_designerdiscount"."name",
           "lego_designerdiscount"."start_date",
           "lego_designerdiscount"."end_date",
           "lego_designerdiscount"."discount_pct",
           "lego_designerdiscount"."mocs"
      FROM
    "lego_designerdiscount"
     WHERE
    ("lego_designerdiscount"."end_date" > '2026-01-22T18:06:24.835502+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T18:06:24.835500+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '138609')
     ORDER BY
    "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESC
     LIMIT
    1
    SELECT ••• FROM "lego_designerdiscount" WHERE ("lego_designerdiscount"."end_date" > '2026-01-22T18:06:24.835502+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T18:06:24.835500+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '138609') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESC LIMIT 1
    4 similar queries.
    0.45

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(553)
      context['applied_discount'] = DesignerDiscount.get_moc_discount(moc.id)
    
    /home/nathan/rb/site/./lego/models/designers.py in get_moc_discount(440)
      return cls.get_active_discounts().filter(mocs__contains=int(moc_id)).first()
    
    
    SELECT COUNT(*) AS "__count"
      FROM
    "django_comments"
     WHERE
    ("django_comments"."content_type_id" = 31 AND NOT "django_comments"."is_removed" AND "django_comments"."object_pk" = '138609')
    SELECT ••• FROM "django_comments" WHERE ("django_comments"."content_type_id" = 31 AND NOT "django_comments"."is_removed" AND "django_comments"."object_pk" = '138609')
    0.41

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(637)
      context['num_comments'] = Comment.objects.filter(object_pk=moc.id, content_type=ContentType.objects.get_for_model(moc), is_removed=False).count()
    
    
    SELECT "lego_designerdiscount"."id",
           "lego_designerdiscount"."designer_id",
           "lego_designerdiscount"."name",
           "lego_designerdiscount"."start_date",
           "lego_designerdiscount"."end_date",
           "lego_designerdiscount"."discount_pct",
           "lego_designerdiscount"."mocs"
      FROM
    "lego_designerdiscount"
     WHERE
    ("lego_designerdiscount"."end_date" > '2026-01-22T18:06:24.860147+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T18:06:24.860145+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '138609')
     ORDER BY
    "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESC
     LIMIT
    1
    SELECT ••• FROM "lego_designerdiscount" WHERE ("lego_designerdiscount"."end_date" > '2026-01-22T18:06:24.860147+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T18:06:24.860145+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '138609') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESC LIMIT 1
    4 similar queries.
    0.29

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./lego/models/mocs.py in get_discounted_cost(380)
      discount = DesignerDiscount.get_moc_discount(self.id)
    
    /home/nathan/rb/site/./lego/models/designers.py in get_moc_discount(440)
      return cls.get_active_discounts().filter(mocs__contains=int(moc_id)).first()
    
    
    80 {% endif %}
    81 "offers": {
    82 "@type": "Offer",
    83 "price": "{{ moc.get_discounted_cost|floatformat:2 }}",
    84 "priceCurrency": "{{ moc.currency.code }}",
    85 "availability": "OnlineOnly"
    86 }
    87 }

    /home/nathan/rb/site/lego/templates/mocs/moc_details.html

    SELECT "geo_currency"."id",
           "geo_currency"."code",
           "geo_currency"."rate"
      FROM
    "geo_currency"
     WHERE
    "geo_currency"."id" = 103
     LIMIT
    21
    SELECT ••• FROM "geo_currency" WHERE "geo_currency"."id" = 103 LIMIT 21
    0.10

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    
    81 "offers": {
    82 "@type": "Offer",
    83 "price": "{{ moc.get_discounted_cost|floatformat:2 }}",
    84 "priceCurrency": "{{ moc.currency.code }}",
    85 "availability": "OnlineOnly"
    86 }
    87 }
    88 </script>

    /home/nathan/rb/site/lego/templates/mocs/moc_details.html

    SELECT "countries_plus_country"."iso",
           "countries_plus_country"."iso3",
           "countries_plus_country"."iso_numeric",
           "countries_plus_country"."fips",
           "countries_plus_country"."name",
           "countries_plus_country"."capital",
           "countries_plus_country"."area",
           "countries_plus_country"."population",
           "countries_plus_country"."continent",
           "countries_plus_country"."tld",
           "countries_plus_country"."currency_code",
           "countries_plus_country"."currency_symbol",
           "countries_plus_country"."currency_name",
           "countries_plus_country"."phone",
           "countries_plus_country"."postal_code_format",
           "countries_plus_country"."postal_code_regex",
           "countries_plus_country"."languages",
           "countries_plus_country"."geonameid",
           "countries_plus_country"."neighbours",
           "countries_plus_country"."equivalent_fips_code"
      FROM
    "countries_plus_country"
     WHERE
    "countries_plus_country"."iso" = 'US'
     LIMIT
    21
    SELECT ••• FROM "countries_plus_country" WHERE "countries_plus_country"."iso" = 'US' LIMIT 21
    0.13

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_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 COUNT(*) AS "__count"
      FROM
    "lego_inventory"
     WHERE
    ("lego_inventory"."is_active" AND "lego_inventory"."set_id" = 138609)
    SELECT ••• FROM "lego_inventory" WHERE ("lego_inventory"."is_active" AND "lego_inventory"."set_id" = 138609)
    2 similar queries. Duplicated 2 times.
    0.25

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./lego/models/sets.py in get_num_inventories(981)
      return Inventory.objects.filter(set=self).count()
    
    
    16 <div class="mb-10">
    17 <span>{{ moc.set_num }}</span>
    18 &bull;
    19 <span><a href="#parts_scroll" title="See the parts in this MOC's inventory">{{ moc.num_parts }} parts{% if moc.get_num_inventories > 1 %} <span class="label label-primary">v{{ inventory.version }}</span>{% endif %}</a></span>
    20 </div>
    21
    22 </div>
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_top.html

    SELECT "lego_mocimage"."id",
           "lego_mocimage"."moc_id",
           "lego_mocimage"."is_primary",
           "lego_mocimage"."file_extension"
      FROM
    "lego_mocimage"
     WHERE
    "lego_mocimage"."moc_id" = 138609
     ORDER BY
    "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASC
    SELECT ••• FROM "lego_mocimage" WHERE "lego_mocimage"."moc_id" = 138609 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASC
    3 similar queries. Duplicated 3 times.
    8.89

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    
    25 <div class="alert alert-danger"><h4><i class="fa fa-warning"></i> This MOC is disabled.</h4></div>
    26 {% endif %}
    27
    28 {% if moc.use_fake_image %}
    29
    30 {% thumbs moc.use_fake_image.img_dir settings.THUMBS_OPTIONS_MOC_TILE as thumb_img %}
    31 {% thumbs_encoded moc.use_fake_image.img_dir settings.THUMBS_OPTIONS_MOC_MAIN_PREVIEW as preview_img %}
    32 {% thumbs moc.use_fake_image.img_dir settings.THUMBS_OPTIONS_MOC_MAIN get_real_dims=1 as first_image %}

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_top.html

    SELECT "lego_mocimage"."id",
           "lego_mocimage"."moc_id",
           "lego_mocimage"."is_primary",
           "lego_mocimage"."file_extension"
      FROM
    "lego_mocimage"
     WHERE
    "lego_mocimage"."moc_id" = 138609
     ORDER BY
    "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASC
    SELECT ••• FROM "lego_mocimage" WHERE "lego_mocimage"."moc_id" = 138609 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASC
    3 similar queries. Duplicated 3 times.
    0.11

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    
    42 data-directionNav="true" data-controlsContainer="#slider_controls">
    43 {# adding display-flex puts images side-by-side so when flexslider is initialising it doesn't stack them vertically briefly which screws up CLS #}
    44 <ul class="slides display-flex">
    45 {% for image in moc.moc_images.all %}
    46 {% if forloop.counter <= 12 %}
    47 {% thumbs image.img_dir settings.THUMBS_OPTIONS_MOC_TILE as thumb_img %}
    48 {% if forloop.counter == 1 %}
    49 {% thumbs_encoded image.img_dir settings.THUMBS_OPTIONS_MOC_MAIN_PREVIEW as preview_img %}

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_top.html

    SELECT "lego_mocimage"."id",
           "lego_mocimage"."moc_id",
           "lego_mocimage"."is_primary",
           "lego_mocimage"."file_extension"
      FROM
    "lego_mocimage"
     WHERE
    "lego_mocimage"."moc_id" = 138609
     ORDER BY
    "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASC
    SELECT ••• FROM "lego_mocimage" WHERE "lego_mocimage"."moc_id" = 138609 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASC
    3 similar queries. Duplicated 3 times.
    0.13

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    
    74 </ul>
    75 </div>
    76 {# pre-create controls div so we can size column height without CLS impact and prevents flicker #}
    77 <div class="flexslider-controls-container {% if moc.moc_images.all|length > 6 %}flexslider-controls-container-2rows{% endif %}">
    78 <div id="slider_controls" class="flexslider-mocs text-center"></div>
    79 </div>
    80
    81 {% else %}

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_top.html

    SELECT COUNT(*) AS "__count"
      FROM
    "lego_inventory"
     WHERE
    ("lego_inventory"."is_active" AND "lego_inventory"."set_id" = 138609)
    SELECT ••• FROM "lego_inventory" WHERE ("lego_inventory"."is_active" AND "lego_inventory"."set_id" = 138609)
    2 similar queries. Duplicated 2 times.
    0.12

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./lego/models/sets.py in get_num_inventories(981)
      return Inventory.objects.filter(set=self).count()
    
    
    16 <div class=" mb-30">
    17 <span>{{ set.set_num }}</span>
    18 &bull;
    19 <span><a href="#parts_scroll" title="See the parts in this MOC's inventory">{{ set.num_parts }} parts{% if set.get_num_inventories > 1 %} <span class="label label-primary">v{{ inventory.version }}</span>{% endif %}</a></span>
    20 &bull;
    21 <span><a href="{% url 'browse_mocs' %}?theme={{ set.theme_id }}" title="Find other MOCs in this theme">{{ set.theme.get_full_name }}</a></span>
    22 </div>
    23 </div>

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_top_buy.html

    SELECT "blog_article"."id",
           "blog_article"."title",
           "blog_article"."author_id",
           "blog_article"."published_date",
           "blog_article"."is_active",
           "blog_article"."body",
           "blog_article"."meta_description",
           "blog_article"."meta_img",
           "blog_article"."slug",
           "blog_article"."category_id",
           "blog_article"."ads",
           "blog_article"."show_ads_for_set_num",
           "blog_article"."review_for_set_num",
           "blog_article"."status",
           "blog_article"."scheduled_net",
           "blog_article"."ready_for_review_date",
           "blog_article"."is_sensitive",
           "blog_article"."search_vector"
      FROM
    "blog_article"
     WHERE
    ("blog_article"."is_active" AND "blog_article"."review_for_set_num"::text LIKE '%MOC-115434%')
     ORDER BY
    "blog_article"."published_date" ASC
    SELECT ••• FROM "blog_article" WHERE ("blog_article"."is_active" AND "blog_article"."review_for_set_num"::text LIKE '%MOC-115434%') ORDER BY "blog_article"."published_date" ASC
    0.31

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./lego/models/sets.py in get_set_review(1393)
      for review in reviews:
    
    
    22 </div>
    23 </div>
    24
    25 {% with moc.get_set_review as review %}
    26 {% if review %}
    27 <div class="text-center">
    28 <a href="{{ review.get_absolute_url }}"><i class="fa fa-star"></i> See our Review of this MOC</a>
    29 </div>

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_top_buy.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" = 460700
     LIMIT
    21
    SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 460700 LIMIT 21
    3 similar queries. Duplicated 2 times.
    0.10

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./lego/models/mocs.py in get_bi_preview_imgs(1463)
      user = User.objects.get(id=self.designer_id)
    
    
    31 {% endwith %}
    32
    33 <div class="row row-condensed">
    34 {% with moc.get_bi_preview_imgs as preview_imgs %}
    35 {% for img in preview_imgs %}
    36 <div class="col-condensed {% if preview_imgs|length == 2 %}col-xs-6{% elif preview_imgs|length == 1 %}col-xs-6 col-xs-offset-3{% else %}col-xs-4{% endif %}">
    37 <a class="lightbox" href="{% cachebuster img %}" data-plugin-options='{"type":"image", "zoom": {"enabled": "true"}}'>
    38 {% thumbs img settings.THUMBS_OPTIONS_MOC_PDF_PREVIEW calc_height=1 as img %}

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_top_buy.html

    SELECT "accounts_usersetting"."id",
           "accounts_usersetting"."user_id",
           "accounts_usersetting"."name",
           "accounts_usersetting"."value"
      FROM
    "accounts_usersetting"
     WHERE
    ("accounts_usersetting"."name" = 'moc' AND "accounts_usersetting"."user_id" = 460700)
    SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'moc' AND "accounts_usersetting"."user_id" = 460700)
    0.27

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./lego/models/mocs.py in get_bi_preview_imgs(1466)
      if user.to_proxy().get_moc_option('preview_pdf_images'):
    
    /home/nathan/rb/site/./accounts/models/user_extras.py in get_moc_option(221)
      options = self.get_moc_options()
    
    /home/nathan/rb/site/./accounts/models/user_extras.py in get_moc_options(213)
      if len(self.moc_options) == 0:
    
    
    31 {% endwith %}
    32
    33 <div class="row row-condensed">
    34 {% with moc.get_bi_preview_imgs as preview_imgs %}
    35 {% for img in preview_imgs %}
    36 <div class="col-condensed {% if preview_imgs|length == 2 %}col-xs-6{% elif preview_imgs|length == 1 %}col-xs-6 col-xs-offset-3{% else %}col-xs-4{% endif %}">
    37 <a class="lightbox" href="{% cachebuster img %}" data-plugin-options='{"type":"image", "zoom": {"enabled": "true"}}'>
    38 {% thumbs img settings.THUMBS_OPTIONS_MOC_PDF_PREVIEW calc_height=1 as img %}

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_top_buy.html

    SELECT "lego_mocinstructionspdfpreview"."id",
           "lego_mocinstructionspdfpreview"."bi_file_id",
           "lego_mocinstructionspdfpreview"."page_nums",
           "lego_mocinstructions"."id",
           "lego_mocinstructions"."moc_id",
           "lego_mocinstructions"."uploaded",
           "lego_mocinstructions"."file_size",
           "lego_mocinstructions"."to_be_uploaded",
           "lego_mocinstructions"."s3file_id",
           "lego_baseset"."id",
           "lego_baseset"."set_num",
           "lego_baseset"."name",
           "lego_baseset"."year",
           "lego_baseset"."theme_id",
           "lego_baseset"."set_type",
           "lego_baseset"."num_parts",
           "lego_baseset"."default_inventory_id",
           "lego_baseset"."is_active",
           "lego_baseset"."is_accessory",
           "lego_baseset"."added_dt",
           "lego_baseset"."added_by_id",
           "lego_baseset"."last_modified_dt",
           "lego_baseset"."last_modified_by_id",
           "lego_baseset"."last_checked_for_bi",
           "lego_baseset"."descr",
           "lego_baseset"."primary_photo_id",
           "lego_baseset"."is_gear",
           "lego_baseset"."is_book",
           "lego_baseset"."search_vector",
           "lego_baseset"."mfhash_vector",
           "lego_files_s3file"."id",
           "lego_files_s3file"."file_size",
           "lego_files_s3file"."last_modified",
           "lego_files_s3file"."aws_mi_file",
           "lego_files_s3file"."linode_si_file",
           "lego_files_s3file"."linode_mi_file",
           "lego_files_s3file"."linode_media_file"
      FROM
    "lego_mocinstructionspdfpreview"
     INNER JOIN
    "lego_mocinstructions"
        ON
    ("lego_mocinstructionspdfpreview"."bi_file_id" = "lego_mocinstructions"."id")
     INNER JOIN
    "lego_baseset"
        ON
    ("lego_mocinstructions"."moc_id" = "lego_baseset"."id")
      LEFT OUTER JOIN
    "lego_files_s3file"
        ON
    ("lego_mocinstructions"."s3file_id" = "lego_files_s3file"."id")
     WHERE
    "lego_mocinstructions"."moc_id" = 138609
    SELECT ••• FROM "lego_mocinstructionspdfpreview" INNER JOIN "lego_mocinstructions" ON ("lego_mocinstructionspdfpreview"."bi_file_id" = "lego_mocinstructions"."id") INNER JOIN "lego_baseset" ON ("lego_mocinstructions"."moc_id" = "lego_baseset"."id") LEFT OUTER JOIN "lego_files_s3file" ON ("lego_mocinstructions"."s3file_id" = "lego_files_s3file"."id") WHERE "lego_mocinstructions"."moc_id" = 138609
    0.95

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./lego/models/mocs.py in get_bi_preview_imgs(1467)
      img_urls = MocInstructionsPDFPreview.get_img_urls(self)
    
    /home/nathan/rb/site/./lego/models/mocs.py in get_img_urls(2673)
      files = sorted(files, key=lambda x: str(x.bi_file.file))
    
    
    31 {% endwith %}
    32
    33 <div class="row row-condensed">
    34 {% with moc.get_bi_preview_imgs as preview_imgs %}
    35 {% for img in preview_imgs %}
    36 <div class="col-condensed {% if preview_imgs|length == 2 %}col-xs-6{% elif preview_imgs|length == 1 %}col-xs-6 col-xs-offset-3{% else %}col-xs-4{% endif %}">
    37 <a class="lightbox" href="{% cachebuster img %}" data-plugin-options='{"type":"image", "zoom": {"enabled": "true"}}'>
    38 {% thumbs img settings.THUMBS_OPTIONS_MOC_PDF_PREVIEW calc_height=1 as img %}

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_top_buy.html

    SELECT COUNT(*) AS "__count"
      FROM
    "lego_mocinstructions"
     WHERE
    "lego_mocinstructions"."moc_id" = 138609
    SELECT ••• FROM "lego_mocinstructions" WHERE "lego_mocinstructions"."moc_id" = 138609
    0.09

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./lego/models/mocs.py in has_instructions(514)
      return MocInstructions.objects.filter(moc_id=self.id).count() > 0
    
    
    44 </div>
    45
    46 {% if moc.is_for_sale and moc.is_hosted %}
    47 {% if user_moc_purchase %}
    48 {% url 'user_purchases' request.user.get_username as url %}
    49 <p>You have purchased this MOC! Download the files below or via your <a href="{{ url }}">MOC Purchases</a> page.</p>
    50 {% include "mocs/includes/render_moc_bi_files_sidebar.html" with purchase=user_moc_purchase bi_files=user_moc_purchase.bi_files %}
    51 {% elif purchase_pending %}

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_top_buy.html

    SELECT "accounts_userterms"."id",
           "accounts_userterms"."user_id",
           "accounts_userterms"."terms"
      FROM
    "accounts_userterms"
     WHERE
    "accounts_userterms"."user_id" = 460700
     LIMIT
    21
    SELECT ••• FROM "accounts_userterms" WHERE "accounts_userterms"."user_id" = 460700 LIMIT 21
    0.28

    Connection: default

    Transaction status: In transaction

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /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)
    
    
    1 {% load crispy_forms_tags %}
    2 {% load rb_helpers %}
    3 {% if moc.designer.terms.terms %}
    4 <div class="row p-10">
    5 <div class="col-xs-8 col-xs-offset-4">
    6 <a href="{% url 'user_terms' moc.designer.username %}" target="_blank"><i class="fa fa-check-square-o"></i> Terms of Sale</a>
    7 </div>

    /home/nathan/rb/site/lego/templates/mocs/includes/buy_moc_bi_form.html

    SELECT "lego_mocinstructions"."id",
           "lego_mocinstructions"."moc_id",
           "lego_mocinstructions"."uploaded",
           "lego_mocinstructions"."file_size",
           "lego_mocinstructions"."to_be_uploaded",
           "lego_mocinstructions"."s3file_id"
      FROM
    "lego_mocinstructions"
     WHERE
    "lego_mocinstructions"."moc_id" = 138609
    SELECT ••• FROM "lego_mocinstructions" WHERE "lego_mocinstructions"."moc_id" = 138609
    2 similar queries. Duplicated 2 times.
    0.09

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./lego/models/mocs.py in get_bi_type_generic(260)
      if self.has_pdf_instructions():
    
    /home/nathan/rb/site/./lego/models/mocs.py in has_pdf_instructions(535)
      for bif in bi_files:
    
    
    10 <div class="row p-10">
    11 <div class="col-xs-3"><span class="pull-right">Buy:</span></div>
    12 <div class="col-xs-9">
    13 <b>{{ moc.get_bi_type_generic }}
    14 <a href="/help/types-of-moc-building-instructions/" target="_blank"><i class="fa fa-question-circle"></i></a>
    15 </b>
    16 </div>
    17 </div>

    /home/nathan/rb/site/lego/templates/mocs/includes/buy_moc_bi_form.html

    SELECT "lego_files_s3file"."id",
           "lego_files_s3file"."file_size",
           "lego_files_s3file"."last_modified",
           "lego_files_s3file"."aws_mi_file",
           "lego_files_s3file"."linode_si_file",
           "lego_files_s3file"."linode_mi_file",
           "lego_files_s3file"."linode_media_file"
      FROM
    "lego_files_s3file"
     WHERE
    "lego_files_s3file"."id" = 179199
     LIMIT
    21
    SELECT ••• FROM "lego_files_s3file" WHERE "lego_files_s3file"."id" = 179199 LIMIT 21
    2 similar queries. Duplicated 2 times.
    0.08

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./lego/models/mocs.py in get_bi_type_generic(260)
      if self.has_pdf_instructions():
    
    /home/nathan/rb/site/./lego/models/mocs.py in has_pdf_instructions(536)
      if bif.is_pdf:
    
    /home/nathan/rb/site/./lego/models/mocs.py in is_pdf(2139)
      return self.file.name.lower().endswith('.pdf')
    
    /home/nathan/rb/site/./lego/models/mocs.py in file(2034)
      if self.s3file:
    
    
    10 <div class="row p-10">
    11 <div class="col-xs-3"><span class="pull-right">Buy:</span></div>
    12 <div class="col-xs-9">
    13 <b>{{ moc.get_bi_type_generic }}
    14 <a href="/help/types-of-moc-building-instructions/" target="_blank"><i class="fa fa-question-circle"></i></a>
    15 </b>
    16 </div>
    17 </div>

    /home/nathan/rb/site/lego/templates/mocs/includes/buy_moc_bi_form.html

    SELECT "lego_mocinstructions"."id",
           "lego_mocinstructions"."moc_id",
           "lego_mocinstructions"."uploaded",
           "lego_mocinstructions"."file_size",
           "lego_mocinstructions"."to_be_uploaded",
           "lego_mocinstructions"."s3file_id"
      FROM
    "lego_mocinstructions"
     WHERE
    "lego_mocinstructions"."moc_id" = 138609
    SELECT ••• FROM "lego_mocinstructions" WHERE "lego_mocinstructions"."moc_id" = 138609
    2 similar queries. Duplicated 2 times.
    0.07

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./lego/models/mocs.py in show_no_pdf_instructions_warning(531)
      return not self.has_pdf_or_zip_instructions()
    
    /home/nathan/rb/site/./lego/models/mocs.py in has_pdf_or_zip_instructions(542)
      for bif in bi_files:
    
    
    15 </b>
    16 </div>
    17 </div>
    18 {% if moc.show_no_pdf_instructions_warning %}
    19 {% show_warning '' 'This Premium MOC does NOT include PDF-formatted instructions.' %}
    20 {% endif %}
    21 <div class="row p-10">
    22 <div class="col-xs-3"><span class="pull-right">Cost:</span></div>

    /home/nathan/rb/site/lego/templates/mocs/includes/buy_moc_bi_form.html

    SELECT "lego_files_s3file"."id",
           "lego_files_s3file"."file_size",
           "lego_files_s3file"."last_modified",
           "lego_files_s3file"."aws_mi_file",
           "lego_files_s3file"."linode_si_file",
           "lego_files_s3file"."linode_mi_file",
           "lego_files_s3file"."linode_media_file"
      FROM
    "lego_files_s3file"
     WHERE
    "lego_files_s3file"."id" = 179199
     LIMIT
    21
    SELECT ••• FROM "lego_files_s3file" WHERE "lego_files_s3file"."id" = 179199 LIMIT 21
    2 similar queries. Duplicated 2 times.
    0.06

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./lego/models/mocs.py in show_no_pdf_instructions_warning(531)
      return not self.has_pdf_or_zip_instructions()
    
    /home/nathan/rb/site/./lego/models/mocs.py in has_pdf_or_zip_instructions(543)
      if bif.is_pdf or bif.is_zip:
    
    /home/nathan/rb/site/./lego/models/mocs.py in is_pdf(2139)
      return self.file.name.lower().endswith('.pdf')
    
    /home/nathan/rb/site/./lego/models/mocs.py in file(2034)
      if self.s3file:
    
    
    15 </b>
    16 </div>
    17 </div>
    18 {% if moc.show_no_pdf_instructions_warning %}
    19 {% show_warning '' 'This Premium MOC does NOT include PDF-formatted instructions.' %}
    20 {% endif %}
    21 <div class="row p-10">
    22 <div class="col-xs-3"><span class="pull-right">Cost:</span></div>

    /home/nathan/rb/site/lego/templates/mocs/includes/buy_moc_bi_form.html

    SELECT "lego_designerdiscount"."id",
           "lego_designerdiscount"."designer_id",
           "lego_designerdiscount"."name",
           "lego_designerdiscount"."start_date",
           "lego_designerdiscount"."end_date",
           "lego_designerdiscount"."discount_pct",
           "lego_designerdiscount"."mocs"
      FROM
    "lego_designerdiscount"
     WHERE
    ("lego_designerdiscount"."end_date" > '2026-01-22T18:06:25.073409+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T18:06:25.073407+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '138609')
     ORDER BY
    "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESC
     LIMIT
    1
    SELECT ••• FROM "lego_designerdiscount" WHERE ("lego_designerdiscount"."end_date" > '2026-01-22T18:06:25.073409+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T18:06:25.073407+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '138609') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESC LIMIT 1
    4 similar queries.
    0.36

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./lego/models/mocs.py in get_discounted_cost(380)
      discount = DesignerDiscount.get_moc_discount(self.id)
    
    /home/nathan/rb/site/./lego/models/designers.py in get_moc_discount(440)
      return cls.get_active_discounts().filter(mocs__contains=int(moc_id)).first()
    
    
    23 <div class="col-xs-9">
    24 <span id="moc_bi_cost_data"
    25 data-coupon="{{ moc.applied_coupon.code }}"
    26 data-cost="{{ moc.get_discounted_cost }}"
    27 data-commission="{{ moc.get_discounted_cost|multiply_var:moc.get_commission_fee }}"
    28 data-currency="{{ moc.currency.code }}"></span>
    29 {% if applied_discount %}
    30 <b>{{ moc.get_formatted_discounted_cost }}</b>

    /home/nathan/rb/site/lego/templates/mocs/includes/buy_moc_bi_form.html

    SELECT "lego_designerdiscount"."id",
           "lego_designerdiscount"."designer_id",
           "lego_designerdiscount"."name",
           "lego_designerdiscount"."start_date",
           "lego_designerdiscount"."end_date",
           "lego_designerdiscount"."discount_pct",
           "lego_designerdiscount"."mocs"
      FROM
    "lego_designerdiscount"
     WHERE
    ("lego_designerdiscount"."end_date" > '2026-01-22T18:06:25.074366+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T18:06:25.074365+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '138609')
     ORDER BY
    "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESC
     LIMIT
    1
    SELECT ••• FROM "lego_designerdiscount" WHERE ("lego_designerdiscount"."end_date" > '2026-01-22T18:06:25.074366+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T18:06:25.074365+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '138609') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESC LIMIT 1
    4 similar queries.
    0.25

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./lego/models/mocs.py in get_discounted_cost(380)
      discount = DesignerDiscount.get_moc_discount(self.id)
    
    /home/nathan/rb/site/./lego/models/designers.py in get_moc_discount(440)
      return cls.get_active_discounts().filter(mocs__contains=int(moc_id)).first()
    
    
    24 <span id="moc_bi_cost_data"
    25 data-coupon="{{ moc.applied_coupon.code }}"
    26 data-cost="{{ moc.get_discounted_cost }}"
    27 data-commission="{{ moc.get_discounted_cost|multiply_var:moc.get_commission_fee }}"
    28 data-currency="{{ moc.currency.code }}"></span>
    29 {% if applied_discount %}
    30 <b>{{ moc.get_formatted_discounted_cost }}</b>
    31 <strike class="text-muted"><small>{{ moc.get_formatted_cost }}</small></strike>

    /home/nathan/rb/site/lego/templates/mocs/includes/buy_moc_bi_form.html

    SELECT "lego_designerpaypalaccount"."id",
           "lego_designerpaypalaccount"."user_id",
           "lego_designerpaypalaccount"."paypal_email",
           "lego_designerpaypalaccount"."paypal_merchant_id"
      FROM
    "lego_designerpaypalaccount"
     WHERE
    "lego_designerpaypalaccount"."user_id" = 460700
     LIMIT
    21
    SELECT ••• FROM "lego_designerpaypalaccount" WHERE "lego_designerpaypalaccount"."user_id" = 460700 LIMIT 21
    0.10

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    
    73 <div class="col-xs-9"><a href="{% url 'designer_moc_sales' moc.designer.username %}?moc={{ moc.id }}"><b>{{ num_purchases }}</b></a> {% include 'rb/render_popover.html' with help_topic='MOC Sales' help_content='Only Rebrickable admins and the MOC designer can see the number of sales for a MOC.' %}</div>
    74 </div>
    75 {% endif %}
    76 {% if not moc.designer.paypal_account.paypal_merchant_id and not moc.designer.paypal_account.paypal_email and not moc.designer.stripe_account.stripe_user_id %}
    77 {% show_warning 'No Payment Methods' 'Sorry, it looks like the designer does not have any active payment methods setup yet.' %}
    78 {% else %}
    79 {# if just bought, page is reloaded with payment_intent=pi_3M3XnZJrPSxBprU31v9t65Or&payment_intent_client_secret=pi_3M3XnZJrPSxBprU31v9t65Or_secret_Ma8Z1z6OmxIskPFbWBJKhILUo&redirect_status=succeeded #}
    80 <div id="buy_moc_error_msg_nomodal"></div>

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_top_buy.html

    SELECT COUNT(*) AS "__count"
      FROM
    "lego_designerfollower"
     WHERE
    "lego_designerfollower"."designer_id" = 460700
    SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 460700
    4 similar queries. Duplicated 4 times.
    1.15

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    
    9 <h2 class="size-30 mt-0 mb-10 text-info num-followers" title="{{ set.designer.followers.count }}">{{ set.designer.get_num_followers_formatted }}</h2>
    10 </a>
    11 {% else %}
    12 <h2 class="size-30 mt-0 mb-10 text-info num-followers" title="{{ set.designer.followers.count }}">{{ set.designer.get_num_followers_formatted }}</h2>
    13 {% endif %}
    14 {% if request.user.is_authenticated %}
    15 {# designer_follow_btn is a class because it can appear twice on a moc (info tab on mobile) #}
    16 <div class="designer_follow_btn_{{ set.designer.id }}">

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_likes_follows.html

    SELECT COUNT(*) AS "__count"
      FROM
    "lego_designerfollower"
     WHERE
    "lego_designerfollower"."designer_id" = 460700
    SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 460700
    4 similar queries. Duplicated 4 times.
    0.15

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./lego/models/designers.py in get_num_followers_formatted(231)
      i = DesignerFollower.objects.filter(designer_id=self.id).count()
    
    
    9 <h2 class="size-30 mt-0 mb-10 text-info num-followers" title="{{ set.designer.followers.count }}">{{ set.designer.get_num_followers_formatted }}</h2>
    10 </a>
    11 {% else %}
    12 <h2 class="size-30 mt-0 mb-10 text-info num-followers" title="{{ set.designer.followers.count }}">{{ set.designer.get_num_followers_formatted }}</h2>
    13 {% endif %}
    14 {% if request.user.is_authenticated %}
    15 {# designer_follow_btn is a class because it can appear twice on a moc (info tab on mobile) #}
    16 <div class="designer_follow_btn_{{ set.designer.id }}">

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_likes_follows.html

    SELECT COUNT(*) AS "__count"
      FROM
    "accounts_usersetphoto"
     INNER JOIN
    "auth_user"
        ON
    ("accounts_usersetphoto"."user_id" = "auth_user"."id")
     WHERE
    ("accounts_usersetphoto"."is_active" AND "accounts_usersetphoto"."set_id" = 138609 AND "auth_user"."is_active")
    SELECT ••• FROM "accounts_usersetphoto" INNER JOIN "auth_user" ON ("accounts_usersetphoto"."user_id" = "auth_user"."id") WHERE ("accounts_usersetphoto"."is_active" AND "accounts_usersetphoto"."set_id" = 138609 AND "auth_user"."is_active")
    0.45

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    
    43 <li><a href="#tab_photos" data-toggle="tab">
    44 <span class="hidden-xs">Photos</span>
    45 <span class="visible-xs text-center"><i class="fa fa-lg fa-photo"></i></span>
    46 <span class="badge badge-light hidden-xs">{{ user_set_photos.count }}</span>
    47 </a></li>
    48 {% if can_edit %}
    49 <li><a href="#tab_admin" data-toggle="tab" class="text-red">
    50 <span class="hidden-xs">Admin</span>

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_tabs.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.15

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.07

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.07

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.07

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.06

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '0074d9'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '0074d9' LIMIT 1
    61 similar queries. Duplicated 8 times.
    0.06

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '0074d9'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '0074d9' LIMIT 1
    61 similar queries. Duplicated 8 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '0074d9'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '0074d9' LIMIT 1
    61 similar queries. Duplicated 8 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '0074d9'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '0074d9' LIMIT 1
    61 similar queries. Duplicated 8 times.
    0.06

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '0074d9'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '0074d9' LIMIT 1
    61 similar queries. Duplicated 8 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '0074d9'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '0074d9' LIMIT 1
    61 similar queries. Duplicated 8 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '0074d9'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '0074d9' LIMIT 1
    61 similar queries. Duplicated 8 times.
    0.06

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '0074d9'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '0074d9' LIMIT 1
    61 similar queries. Duplicated 8 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.06

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.07

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.06

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.06

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.09

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.06

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.06

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.06

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.07

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '030303'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '030303' LIMIT 1
    61 similar queries.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.06

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.07

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.06

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.html

    SELECT 1 AS "a"
      FROM
    "lego_part"
     WHERE
    "lego_part"."part_num" = '666666'
     LIMIT
    1
    SELECT ••• FROM "lego_part" WHERE "lego_part"."part_num" = '666666' LIMIT 1
    61 similar queries. Duplicated 52 times.
    0.05

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb/templatetags/rb_helpers.py in parse_cards(561)
      return parse_cards(txt)
    
    /home/nathan/rb/site/./rb/utils.py in parse_cards(1698)
      d = re.sub(r'#(\d{2,5}[a-z0-9]*)', conditional_replacer, d)  # part eg 75c09
    
    /usr/lib/python3.10/re.py in sub(209)
      return _compile(pattern, flags).sub(repl, string, count)
    
    /home/nathan/rb/site/./rb/utils.py in conditional_replacer(1683)
      if Part.all_objects.filter(part_num=x).exists():
    
    
    16 {% if request.user.get_personalisation_options.dark_mode %}
    17 {{ moc.descr|parse_cards|bbcode_dark_mode|bbcode|safe }}
    18 {% else %}
    19 {{ moc.descr|parse_cards|bbcode|safe }}
    20 {% endif %}
    21 </div>
    22 {% endif %}
    23

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_main_descr.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" = 'moc')
     LIMIT
    21
    SELECT ••• FROM "django_content_type" WHERE ("django_content_type"."app_label" = 'lego' AND "django_content_type"."model" = 'moc') LIMIT 21
    0.11

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_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" = 31 AND "rb_comments_pagelocked"."object_id" = 138609)
     LIMIT
    1
    SELECT ••• FROM "rb_comments_pagelocked" WHERE ("rb_comments_pagelocked"."content_type_id" = 31 AND "rb_comments_pagelocked"."object_id" = 138609) LIMIT 1
    0.09

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_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" = 31 AND "django_comments"."object_pk" = '138609' 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" = 31 AND "django_comments"."object_pk" = '138609' 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.73

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_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 (691723, 102433, 232121, 460700, 609826)
    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 (691723, 102433, 232121, 460700, 609826)
    2 similar queries. Duplicated 2 times.
    0.14

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_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" = 31 AND "django_comments"."object_pk" = '138609' 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" = 31 AND "django_comments"."object_pk" = '138609' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
    0.19

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_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" = 31 AND "django_comments"."object_pk" = '138609' 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" = 31 AND "django_comments"."object_pk" = '138609' 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.97

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_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 (691723, 102433, 232121, 460700, 609826)
    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 (691723, 102433, 232121, 460700, 609826)
    2 similar queries. Duplicated 2 times.
    0.13

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_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" = 691723
     ORDER BY
    "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
     LIMIT
    1
    SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 691723 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
    6 similar queries.
    0.10

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_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" = 691723
     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" = 691723 LIMIT 21
    4 similar queries.
    0.12

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_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 1 AS "a"
      FROM
    "accounts_mocpurchase"
     WHERE
    ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 138609 AND "accounts_mocpurchase"."user_id" = 691723)
     LIMIT
    1
    SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 138609 AND "accounts_mocpurchase"."user_id" = 691723) LIMIT 1
    6 similar queries.
    0.30

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb_comments/templatetags/rb_comments_filters.py in get_verified_purchase(97)
      if user.has_purchased_moc(moc.id):
    
    /home/nathan/rb/site/./accounts/models/user_extras.py in has_purchased_moc(1008)
      return MocPurchase.objects.filter(user=self, moc_id=moc_id).exists()
    
    
    65 {% endif %}
    66 {% endif %}
    67 {% if page.is_moc %}
    68 {% get_verified_purchase comment.user page %}
    69 {% endif %}
    70 {% endif %}
    71 </div>
    72

    /home/nathan/rb/site/rb_comments/templates/comments/comment.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" = 102433
     ORDER BY
    "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
     LIMIT
    1
    SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 102433 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
    6 similar queries.
    0.09

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_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" = 102433
     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" = 102433 LIMIT 21
    4 similar queries.
    0.10

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_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 1 AS "a"
      FROM
    "accounts_mocpurchase"
     WHERE
    ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 138609 AND "accounts_mocpurchase"."user_id" = 102433)
     LIMIT
    1
    SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 138609 AND "accounts_mocpurchase"."user_id" = 102433) LIMIT 1
    6 similar queries.
    0.11

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb_comments/templatetags/rb_comments_filters.py in get_verified_purchase(97)
      if user.has_purchased_moc(moc.id):
    
    /home/nathan/rb/site/./accounts/models/user_extras.py in has_purchased_moc(1008)
      return MocPurchase.objects.filter(user=self, moc_id=moc_id).exists()
    
    
    65 {% endif %}
    66 {% endif %}
    67 {% if page.is_moc %}
    68 {% get_verified_purchase comment.user page %}
    69 {% endif %}
    70 {% endif %}
    71 </div>
    72

    /home/nathan/rb/site/rb_comments/templates/comments/comment.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" = 232121
     ORDER BY
    "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
     LIMIT
    1
    SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 232121 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
    6 similar queries.
    0.08

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_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" = 232121
     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" = 232121 LIMIT 21
    4 similar queries.
    0.11

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_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 1 AS "a"
      FROM
    "accounts_mocpurchase"
     WHERE
    ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 138609 AND "accounts_mocpurchase"."user_id" = 232121)
     LIMIT
    1
    SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 138609 AND "accounts_mocpurchase"."user_id" = 232121) LIMIT 1
    6 similar queries.
    0.26

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb_comments/templatetags/rb_comments_filters.py in get_verified_purchase(97)
      if user.has_purchased_moc(moc.id):
    
    /home/nathan/rb/site/./accounts/models/user_extras.py in has_purchased_moc(1008)
      return MocPurchase.objects.filter(user=self, moc_id=moc_id).exists()
    
    
    65 {% endif %}
    66 {% endif %}
    67 {% if page.is_moc %}
    68 {% get_verified_purchase comment.user page %}
    69 {% endif %}
    70 {% endif %}
    71 </div>
    72

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

    SELECT "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"
      FROM
    "threadedcomments_comment"
     INNER JOIN
    "django_comments"
        ON
    ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id")
     WHERE
    "threadedcomments_comment"."comment_ptr_id" = 411810
     LIMIT
    21
    SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE "threadedcomments_comment"."comment_ptr_id" = 411810 LIMIT 21
    2 similar queries.
    0.11

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    
    105 {% if not comment.open and not comment.close %}</li>{% endif %}
    106 {% if comment.open %}
    107 <ul class="comment list-unstyled comment-list-wrapper">{% endif %}
    108 <li class="comment {% if comment.parent and comment.depth < 7 %}comment-reply{% endif %} comment-wrapper">
    109 {% include "comments/comment.html" %}
    110 {% for close in comment.close %}
    111 </li>
    112 </ul>

    /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" = 460700
     ORDER BY
    "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
     LIMIT
    1
    SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 460700 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
    6 similar queries. Duplicated 2 times.
    0.08

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_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 1 AS "a"
      FROM
    "accounts_mocpurchase"
     WHERE
    ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 138609 AND "accounts_mocpurchase"."user_id" = 460700)
     LIMIT
    1
    SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 138609 AND "accounts_mocpurchase"."user_id" = 460700) LIMIT 1
    6 similar queries. Duplicated 2 times.
    0.11

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb_comments/templatetags/rb_comments_filters.py in get_verified_purchase(97)
      if user.has_purchased_moc(moc.id):
    
    /home/nathan/rb/site/./accounts/models/user_extras.py in has_purchased_moc(1008)
      return MocPurchase.objects.filter(user=self, moc_id=moc_id).exists()
    
    
    65 {% endif %}
    66 {% endif %}
    67 {% if page.is_moc %}
    68 {% get_verified_purchase comment.user page %}
    69 {% endif %}
    70 {% endif %}
    71 </div>
    72

    /home/nathan/rb/site/rb_comments/templates/comments/comment.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" = 609826
     ORDER BY
    "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
     LIMIT
    1
    SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 609826 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
    6 similar queries.
    0.08

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_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" = 609826
     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" = 609826 LIMIT 21
    4 similar queries.
    0.10

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_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 1 AS "a"
      FROM
    "lego_moc"
     INNER JOIN
    "lego_baseset"
        ON
    ("lego_moc"."baseset_ptr_id" = "lego_baseset"."id")
     WHERE
    ("lego_baseset"."is_active" AND "lego_moc"."designer_id" = 609826)
     LIMIT
    1
    SELECT ••• FROM "lego_moc" INNER JOIN "lego_baseset" ON ("lego_moc"."baseset_ptr_id" = "lego_baseset"."id") WHERE ("lego_baseset"."is_active" AND "lego_moc"."designer_id" = 609826) LIMIT 1
    2 similar queries. Duplicated 2 times.
    0.18

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_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 1 AS "a"
      FROM
    "lego_moc"
     INNER JOIN
    "lego_baseset"
        ON
    ("lego_moc"."baseset_ptr_id" = "lego_baseset"."id")
     WHERE
    ("lego_baseset"."is_active" AND "lego_moc"."designer_id" = 609826)
     LIMIT
    1
    SELECT ••• FROM "lego_moc" INNER JOIN "lego_baseset" ON ("lego_moc"."baseset_ptr_id" = "lego_baseset"."id") WHERE ("lego_baseset"."is_active" AND "lego_moc"."designer_id" = 609826) LIMIT 1
    2 similar queries. Duplicated 2 times.
    0.13

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_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 1 AS "a"
      FROM
    "accounts_mocpurchase"
     WHERE
    ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 138609 AND "accounts_mocpurchase"."user_id" = 609826)
     LIMIT
    1
    SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 138609 AND "accounts_mocpurchase"."user_id" = 609826) LIMIT 1
    6 similar queries.
    0.13

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb_comments/templatetags/rb_comments_filters.py in get_verified_purchase(97)
      if user.has_purchased_moc(moc.id):
    
    /home/nathan/rb/site/./accounts/models/user_extras.py in has_purchased_moc(1008)
      return MocPurchase.objects.filter(user=self, moc_id=moc_id).exists()
    
    
    65 {% endif %}
    66 {% endif %}
    67 {% if page.is_moc %}
    68 {% get_verified_purchase comment.user page %}
    69 {% endif %}
    70 {% endif %}
    71 </div>
    72

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

    SELECT "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"
      FROM
    "threadedcomments_comment"
     INNER JOIN
    "django_comments"
        ON
    ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id")
     WHERE
    "threadedcomments_comment"."comment_ptr_id" = 307298
     LIMIT
    21
    SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE "threadedcomments_comment"."comment_ptr_id" = 307298 LIMIT 21
    2 similar queries.
    0.22

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    
    105 {% if not comment.open and not comment.close %}</li>{% endif %}
    106 {% if comment.open %}
    107 <ul class="comment list-unstyled comment-list-wrapper">{% endif %}
    108 <li class="comment {% if comment.parent and comment.depth < 7 %}comment-reply{% endif %} comment-wrapper">
    109 {% include "comments/comment.html" %}
    110 {% for close in comment.close %}
    111 </li>
    112 </ul>

    /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" = 460700
     ORDER BY
    "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
     LIMIT
    1
    SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 460700 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
    6 similar queries. Duplicated 2 times.
    0.08

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_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 1 AS "a"
      FROM
    "accounts_mocpurchase"
     WHERE
    ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 138609 AND "accounts_mocpurchase"."user_id" = 460700)
     LIMIT
    1
    SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 138609 AND "accounts_mocpurchase"."user_id" = 460700) LIMIT 1
    6 similar queries. Duplicated 2 times.
    0.07

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./rb_comments/templatetags/rb_comments_filters.py in get_verified_purchase(97)
      if user.has_purchased_moc(moc.id):
    
    /home/nathan/rb/site/./accounts/models/user_extras.py in has_purchased_moc(1008)
      return MocPurchase.objects.filter(user=self, moc_id=moc_id).exists()
    
    
    65 {% endif %}
    66 {% endif %}
    67 {% if page.is_moc %}
    68 {% get_verified_purchase comment.user page %}
    69 {% endif %}
    70 {% endif %}
    71 </div>
    72

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

    SELECT COUNT(*) AS "__count"
      FROM
    "lego_designerfollower"
     WHERE
    "lego_designerfollower"."designer_id" = 460700
    SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 460700
    4 similar queries. Duplicated 4 times.
    0.19

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    
    9 <h2 class="size-30 mt-0 mb-10 text-info num-followers" title="{{ set.designer.followers.count }}">{{ set.designer.get_num_followers_formatted }}</h2>
    10 </a>
    11 {% else %}
    12 <h2 class="size-30 mt-0 mb-10 text-info num-followers" title="{{ set.designer.followers.count }}">{{ set.designer.get_num_followers_formatted }}</h2>
    13 {% endif %}
    14 {% if request.user.is_authenticated %}
    15 {# designer_follow_btn is a class because it can appear twice on a moc (info tab on mobile) #}
    16 <div class="designer_follow_btn_{{ set.designer.id }}">

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_likes_follows.html

    SELECT COUNT(*) AS "__count"
      FROM
    "lego_designerfollower"
     WHERE
    "lego_designerfollower"."designer_id" = 460700
    SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 460700
    4 similar queries. Duplicated 4 times.
    0.15

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    /home/nathan/rb/site/./lego/models/designers.py in get_num_followers_formatted(231)
      i = DesignerFollower.objects.filter(designer_id=self.id).count()
    
    
    9 <h2 class="size-30 mt-0 mb-10 text-info num-followers" title="{{ set.designer.followers.count }}">{{ set.designer.get_num_followers_formatted }}</h2>
    10 </a>
    11 {% else %}
    12 <h2 class="size-30 mt-0 mb-10 text-info num-followers" title="{{ set.designer.followers.count }}">{{ set.designer.get_num_followers_formatted }}</h2>
    13 {% endif %}
    14 {% if request.user.is_authenticated %}
    15 {# designer_follow_btn is a class because it can appear twice on a moc (info tab on mobile) #}
    16 <div class="designer_follow_btn_{{ set.designer.id }}">

    /home/nathan/rb/site/lego/templates/mocs/includes/render_moc_likes_follows.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" = 460700
     LIMIT
    21
    SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 460700 LIMIT 21
    3 similar queries. Duplicated 2 times.
    0.10

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    
    5 {% cache cache_timeout 'change_summary' user.is_authenticated set.id 'v3' %}
    6 <div><small><i class="fa fa-fw fa-eye" title="Views"></i> {{ set.stats.hits|default:0|floor_100|intcomma }}</small></div>
    7 <div><small><i class="fa fa-fw fa-plus" title="Added"></i> {{ changes.added.timestamp }}
    8 {% if changes.added.user %}by
    9 <a href="{% url 'user_profile' changes.added.user.get_username %}">{{ changes.added.user.get_username }}</a>
    10 {% endif %}</small></div>
    11 <div><small><i class="fa fa-fw fa-edit" title="Updated"></i> {{ changes.updated.timestamp }}
    12 {% if changes.updated.user %}by

    /home/nathan/rb/site/lego/templates/sets/includes/render_change_summary.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" = 83025
     LIMIT
    21
    SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 83025 LIMIT 21
    3 similar queries.
    0.09

    Connection: default

    Transaction status: Idle

    /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/mocs.py in moc_details(690)
      return render(request, 'mocs/moc_details.html', context)
    
    
    9 <a href="{% url 'user_profile' changes.added.user.get_username %}">{{ changes.added.user.get_username }}</a>
    10 {% endif %}</small></div>
    11 <div><small><i class="fa fa-fw fa-edit" title="Updated"></i> {{ changes.updated.timestamp }}
    12 {% if changes.updated.user %}by
    13 <a href="{% url 'user_profile' changes.updated.user.get_username %}">{{ changes.updated.user.get_username }}</a>
    14 {% endif %}</small></div>
    15 <div class="mb-10"><small><a href="{% url 'change_log' %}?search_id={{ set.set_num }}">See Change Log for {{ set.set_num }}</a></small></div>
    16 {% if user.is_authenticated %}

    /home/nathan/rb/site/lego/templates/sets/includes/render_change_summary.html

    Log messages

    No messages logged.