FALLOUT: Vault Boy posable desktop figurine with stand!

MOC-179833626 parts
  • MOC-179833 FALLOUT: Vault Boy posable desktop figurine with stand!
  • MOC-179833 FALLOUT: Vault Boy posable desktop figurine with stand!
  • MOC-179833 FALLOUT: Vault Boy posable desktop figurine with stand!
  • MOC-179833 FALLOUT: Vault Boy posable desktop figurine with stand!
  • MOC-179833 FALLOUT: Vault Boy posable desktop figurine with stand!
  • MOC-179833 FALLOUT: Vault Boy posable desktop figurine with stand!
  • MOC-179833 FALLOUT: Vault Boy posable desktop figurine with stand!
Buy:
PDF Building Instructions
Cost:
£5.00 GBP 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

1531

LIKES



"I don't want to set the world on fire..."


Introducing the Vault Boy by Vault-Tec!
Your Faithful Desk Companion!

Step into the future with our latest innovation, the Vault Boy! Crafted out of space-age thermo-plastic bricks with precision and style, this sturdy desktop companion is the perfect addition to any discerning individual's workspace.

Features Include:

  • Posable legs and arms: Customize your Vault Boy's stance to suit any situation!
  • Detachable toupee revealing a command centre for a Lego minifig Vault Boy.
  • Beautiful cog-shaped display stand: Showcase your Vault Boy with engineering pride!
  • Changeable from a winking eye to a normal eye: Adjust Vault Boy's expression effortlessly!
  • Iconic smile: Radiate positivity with Vault Boy's trademark grin!
  • Thumbs up or thumbs down pose: Make your opinions known with a simple gesture adjustment!




Why Vault Boy?

As the beloved mascot of Vault-Tec, Vault Boy embodies the spirit of adventure, innovation, and the pursuit of a brighter future.

Don't miss out on your chance to bring a piece of Americana into your home or office. Get your Vault Boy today and join the ranks of those who dare to dream big!

Changlelog

V1.1 — I've changed the pieces used in the legs as whilst the pieces chosen were the best pieces, they were new as of 2024, and the circulation just isn't there yet for those parts. It still looks pretty great with these replacement parts, and cheaper too! There was also a problem specifying exact minifig elements, so I've taken that out of the equation to simplify purchasing of the parts.
to your account to add or reply to comments.
  • Avatar image for Rebrickable user dtm-91
    1 year, 1 month ago dtm-91 Level 3
    As others have commented, some of the instructions are a little unclear, but by flicking ahead a step or two you can figure it out. Overall, this is a very pleasing build, the way it all comes together shows a deep understanding of SNOT techniques and artistry. The hair is incredible.
    My only negative point is that it is slightly unsteady as a figurine, I would have loved to have it on my desk, but instead I have put it into a cabinet.
    • Avatar image for Rebrickable user Skyfoxbricks
      1 year, 1 month ago Skyfoxbricks Level 15 Designed this MOC DESIGNER
      Thank you so much for the kind words! What connection points are unsteady for you? I can see if theres anything I can improve :)

      If it's the feet connection, there might be a way to use pins/axles to strengthen?
      • Avatar image for Rebrickable user dtm-91
        1 year, 1 month ago dtm-91 Level 3
        Yeah, connecting the feet to the stand, I ended up placing the stand in the cabinet first and then attaching the figurine in situ
  • Avatar image for Rebrickable user tomulinek
    1 year, 8 months ago tomulinek Level 7
    Beautiful figurine, happy to have it! ;)
    (Instructions are with some missing steps, but doable for experienced builders.)
    • Avatar image for Rebrickable user Skyfoxbricks
      1 year, 8 months ago Skyfoxbricks Level 15 Designed this MOC DESIGNER
      Post pictures! Could you let me know if you’re using the latest instructions and if so, which steps you feel are missing? I want to make sure I make everything super clear :)
      • Avatar image for Rebrickable user tomulinek
        1 year, 8 months ago tomulinek Level 7
        Marvelous figure, need make some photos of completed assembly, just sourcing one lost brick on the stand. ;) From the building phase yesterday: https://www.instagram.com/p/C7KXnX4rAYb/

        PS: I didn't mark where the intermediate step was missing in the instructions (V 1.3). I just flipped back and forth and figured it out. :)
        • Avatar image for Rebrickable user Skyfoxbricks
          1 year, 8 months ago Skyfoxbricks Level 15 Designed this MOC DESIGNER
          Looking great so far! I just commented on the insta post with my account if you ever want to tag in future :)
  • Avatar image for Rebrickable user DingleFlute
    1 year, 8 months ago DingleFlute Level 9
    I'm planning to buy the instructions but I wondering if it would be possible to get both versions of them? I have parts for the 1750 version on the way
    • Avatar image for Rebrickable user Skyfoxbricks
      1 year, 8 months ago Skyfoxbricks Level 15 Designed this MOC DESIGNER
      All versions of the instructions are there for you to use. If you have the 1750 parts then use those for the legs as they are smoother. Nothing to stop you using those legs with the updated hand if you buy the extra blocks!
  • Avatar image for Rebrickable user Dwelve
    1 year, 8 months ago Dwelve Level 12 MOC Designer PRO
    Fun little build, definitely recommend.  I uploaded a photo of actual physical build.  Message also sent as well with some feedback.
    • Avatar image for Rebrickable user Skyfoxbricks
      1 year, 8 months ago Skyfoxbricks Level 15 Designed this MOC DESIGNER
      Thank you so much for your help- your suggestions were extremely helpful and so glad you like the model!
  • Avatar image for Rebrickable user Sebbern96
    1 year, 8 months ago Sebbern96 Level 4
    where are u getting the parts? none store have 100% in store lol
    • Avatar image for Rebrickable user Skyfoxbricks
      1 year, 8 months ago Skyfoxbricks Level 15 Designed this MOC DESIGNER
      Exporting the parts list through to bricklink (you need a free bricklink account) and split the order across a few sellers. It's super easy, it'll auto-find the sellers for the cheapest price and then you just order the parts from the sellers it's found.
  • Avatar image for Rebrickable user SINTAX
    1 year, 8 months ago SINTAX Level 13
    I Absolutely love this and will move this to the top of my build list as soon as part 1750 becomes more readily available.
    • Avatar image for Rebrickable user Skyfoxbricks
      1 year, 8 months ago Skyfoxbricks Level 15 Designed this MOC DESIGNER
      You get all of them and more in this set : LEGO 60413 City Fire Rescue Plane! Only out this year so will become more available.

      Alternatively you could make it a little blockier and just square it off.
  • Avatar image for Rebrickable user maverickdawg85
    1 year, 9 months ago maverickdawg85 Level 18 MOC Designer
    Only thing I'd change about this design... is NOTHING. Bravo. It's bigger than I assumed so it'll be a bit before I build (May the 4th is just around the corner), but I absolutely love this design!

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 664.534 msec
System CPU time 4.941 msec
Total CPU time 669.475 msec
Elapsed time 711.112 msec
Context switches 476 voluntary, 0 involuntary

Browser timing

Timing attribute Timeline Milliseconds since navigation start (+length)

SQL queries from 1 connection

  • default 44.11 ms (174 queries including 154 similar and 95 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-179833'
 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-179833' LIMIT 21
2.24

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 (216844))
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 (216844))
0.39

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" = 216844 AND "lego_inventory"."version" = 1)
 LIMIT
21
SELECT ••• FROM "lego_inventory" WHERE ("lego_inventory"."set_id" = 216844 AND "lego_inventory"."version" = 1) 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(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-179833'
 ORDER BY
"lego_changelog"."timestamp" DESC
SELECT ••• FROM "lego_changelog" WHERE "lego_changelog"."set_num" = 'MOC-179833' ORDER BY "lego_changelog"."timestamp" DESC
11.42

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-23T20:45:28.258523+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-23T20:45:28.258521+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '216844')
 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-23T20:45:28.258523+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-23T20:45:28.258521+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '216844') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESC LIMIT 1
4 similar queries.
0.46

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 "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"
  FROM
"auth_user"
  LEFT OUTER JOIN
"accounts_userplan"
    ON
("auth_user"."id" = "accounts_userplan"."user_id")
 WHERE
("auth_user"."is_active" AND "auth_user"."id" = 857040)
 LIMIT
21
SELECT ••• FROM "auth_user" LEFT OUTER JOIN "accounts_userplan" ON ("auth_user"."id" = "accounts_userplan"."user_id") WHERE ("auth_user"."is_active" AND "auth_user"."id" = 857040) LIMIT 21
0.16

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(622)
  context['designer_ga_tracking_id'] = moc.designer.get_ga_tracking_id()

/home/nathan/rb/site/./lego/models/designers.py in get_ga_tracking_id(89)
  user = ProxyUser.objects.get(id=self.id)  # Designer class won't have options pre-loaded so do a lookup instead

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 (857040)
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 (857040)
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(622)
  context['designer_ga_tracking_id'] = moc.designer.get_ga_tracking_id()

/home/nathan/rb/site/./lego/models/designers.py in get_ga_tracking_id(89)
  user = ProxyUser.objects.get(id=self.id)  # Designer class won't have options pre-loaded so do a lookup instead

SELECT "accounts_usersetting"."id",
       "accounts_usersetting"."user_id",
       "accounts_usersetting"."name",
       "accounts_usersetting"."value"
  FROM
"accounts_usersetting"
 WHERE
("accounts_usersetting"."name" = 'personalisation' AND "accounts_usersetting"."user_id" = 857040)
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'personalisation' AND "accounts_usersetting"."user_id" = 857040)
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(622)
  context['designer_ga_tracking_id'] = moc.designer.get_ga_tracking_id()

/home/nathan/rb/site/./lego/models/designers.py in get_ga_tracking_id(90)
  ga_tracking_id = user.get_personalisation_option('ga_tracking_id')

/home/nathan/rb/site/./accounts/models/user_extras.py in get_personalisation_option(175)
  options = self.get_personalisation_options()

/home/nathan/rb/site/./accounts/models/user_extras.py in get_personalisation_options(167)
  if len(self.personalisation_options) == 0:

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" = '216844')
SELECT ••• FROM "django_comments" WHERE ("django_comments"."content_type_id" = 31 AND NOT "django_comments"."is_removed" AND "django_comments"."object_pk" = '216844')
0.81

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-23T20:45:28.270674+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-23T20:45:28.270673+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '216844')
 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-23T20:45:28.270674+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-23T20:45:28.270673+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '216844') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESC LIMIT 1
4 similar queries.
0.28

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" = 8
 LIMIT
21
SELECT ••• FROM "geo_currency" WHERE "geo_currency"."id" = 8 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.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/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" = 216844)
SELECT ••• FROM "lego_inventory" WHERE ("lego_inventory"."is_active" AND "lego_inventory"."set_id" = 216844)
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-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" = 216844
 ORDER BY
"lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASC
SELECT ••• FROM "lego_mocimage" WHERE "lego_mocimage"."moc_id" = 216844 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASC
3 similar queries. Duplicated 3 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)

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" = 216844
 ORDER BY
"lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASC
SELECT ••• FROM "lego_mocimage" WHERE "lego_mocimage"."moc_id" = 216844 ORDER BY "lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASC
3 similar queries. Duplicated 3 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)

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" = 216844
 ORDER BY
"lego_mocimage"."is_primary" DESC, "lego_mocimage"."id" ASC
SELECT ••• FROM "lego_mocimage" WHERE "lego_mocimage"."moc_id" = 216844 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)

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" = 216844)
SELECT ••• FROM "lego_inventory" WHERE ("lego_inventory"."is_active" AND "lego_inventory"."set_id" = 216844)
2 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/./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-179833%')
 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-179833%') ORDER BY "blog_article"."published_date" ASC
0.28

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" = 857040
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 857040 LIMIT 21
3 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/./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" = 857040)
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'moc' AND "accounts_usersetting"."user_id" = 857040)
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)

/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" = 216844
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" = 216844
1.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_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" = 216844
SELECT ••• FROM "lego_mocinstructions" WHERE "lego_mocinstructions"."moc_id" = 216844
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" = 857040
 LIMIT
21
SELECT ••• FROM "accounts_userterms" WHERE "accounts_userterms"."user_id" = 857040 LIMIT 21
0.12

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" = 216844
SELECT ••• FROM "lego_mocinstructions" WHERE "lego_mocinstructions"."moc_id" = 216844
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" = 408934
 LIMIT
21
SELECT ••• FROM "lego_files_s3file" WHERE "lego_files_s3file"."id" = 408934 LIMIT 21
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(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" = 216844
SELECT ••• FROM "lego_mocinstructions" WHERE "lego_mocinstructions"."moc_id" = 216844
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 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" = 408934
 LIMIT
21
SELECT ••• FROM "lego_files_s3file" WHERE "lego_files_s3file"."id" = 408934 LIMIT 21
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 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-23T20:45:28.319477+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-23T20:45:28.319474+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '216844')
 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-23T20:45:28.319477+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-23T20:45:28.319474+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '216844') ORDER BY "lego_designerdiscount"."start_date" DESC, "lego_designerdiscount"."end_date" DESC LIMIT 1
4 similar queries.
0.35

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-23T20:45:28.320455+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-23T20:45:28.320454+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '216844')
 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-23T20:45:28.320455+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-23T20:45:28.320454+00:00'::timestamptz AND "lego_designerdiscount"."mocs" @> '216844') 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" = 857040
 LIMIT
21
SELECT ••• FROM "lego_designerpaypalaccount" WHERE "lego_designerpaypalaccount"."user_id" = 857040 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)

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" = 857040
SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 857040
4 similar queries. Duplicated 4 times.
2.44

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" = 857040
SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 857040
4 similar queries. Duplicated 4 times.
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(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" = 216844 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" = 216844 AND "auth_user"."is_active")
0.42

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

/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" = 216844)
 LIMIT
1
SELECT ••• FROM "rb_comments_pagelocked" WHERE ("rb_comments_pagelocked"."content_type_id" = 31 AND "rb_comments_pagelocked"."object_id" = 216844) LIMIT 1
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/./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" = '216844' 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" = '216844' 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
3.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/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 (622030, 1247208, 857040, 1112906, 1113107, 26198, 1084990, 153907, 891667, 1084767, 436715, 343566, 167728, 688869, 1045577)
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 (622030, 1247208, 857040, 1112906, 1113107, 26198, 1084990, 153907, 891667, 1084767, 436715, 343566, 167728, 688869, 1045577)
2 similar queries. Duplicated 2 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/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" = '216844' 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" = '216844' AND "django_comments"."site_id" = 1 AND "django_comments"."is_public" AND NOT "django_comments"."is_removed")
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)

/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" = '216844' 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" = '216844' 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.98

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 (622030, 1247208, 857040, 1112906, 1113107, 26198, 1084990, 153907, 891667, 1084767, 436715, 343566, 167728, 688869, 1045577)
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 (622030, 1247208, 857040, 1112906, 1113107, 26198, 1084990, 153907, 891667, 1084767, 436715, 343566, 167728, 688869, 1045577)
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)

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" = 622030
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 622030 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 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/./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" = 622030
 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" = 622030 LIMIT 21
17 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/./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" = 622030)
 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" = 622030) LIMIT 1
18 similar queries. Duplicated 2 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)

/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" = 622030)
 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" = 622030) LIMIT 1
18 similar queries. Duplicated 2 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/./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" = 216844 AND "accounts_mocpurchase"."user_id" = 622030)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 622030) LIMIT 1
31 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/./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" = 1247208
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 1247208 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 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/./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" = 1247208
 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" = 1247208 LIMIT 21
17 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/./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" = 216844 AND "accounts_mocpurchase"."user_id" = 1247208)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 1247208) LIMIT 1
31 similar queries. Duplicated 2 times.
0.21

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" = 715606
 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" = 715606 LIMIT 21
17 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)

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" = 857040
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 857040 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 similar queries. Duplicated 14 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/./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 "accounts_usersetting"."id",
       "accounts_usersetting"."user_id",
       "accounts_usersetting"."name",
       "accounts_usersetting"."value"
  FROM
"accounts_usersetting"
 WHERE
("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040)
 LIMIT
21
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040) LIMIT 21
16 similar queries. Duplicated 14 times.
0.20

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 is_public_plan(654)
  return self.get_privacy_option('is_public_plan')

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_option(269)
  options = self.get_privacy_options()

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_options(263)
  options = UserSetting.objects.get(user=self, name=UserSetting.USER_SETTING_PRIVACY_OPTIONS)

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 }}
65 {% endif %}
66 {% endif %}
67 {% if page.is_moc %}

/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" = 216844 AND "accounts_mocpurchase"."user_id" = 857040)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 857040) LIMIT 1
31 similar queries. Duplicated 14 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/./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" = 715632
 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" = 715632 LIMIT 21
17 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)

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" = 1247208
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 1247208 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 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/./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" = 1247208
 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" = 1247208 LIMIT 21
17 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/./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" = 216844 AND "accounts_mocpurchase"."user_id" = 1247208)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 1247208) LIMIT 1
31 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/./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" = 1112906
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 1112906 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 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" = 1112906
 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" = 1112906 LIMIT 21
17 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/./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" = 1112906)
 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" = 1112906) LIMIT 1
18 similar queries. Duplicated 2 times.
0.16

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" = 1112906)
 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" = 1112906) LIMIT 1
18 similar queries. Duplicated 2 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/./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" = 216844 AND "accounts_mocpurchase"."user_id" = 1112906)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 1112906) LIMIT 1
31 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 "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" = 596809
 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" = 596809 LIMIT 21
17 similar queries.
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)

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" = 857040
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 857040 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 similar queries. Duplicated 14 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/./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 "accounts_usersetting"."id",
       "accounts_usersetting"."user_id",
       "accounts_usersetting"."name",
       "accounts_usersetting"."value"
  FROM
"accounts_usersetting"
 WHERE
("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040)
 LIMIT
21
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040) LIMIT 21
16 similar queries. Duplicated 14 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/./accounts/models/user_extras.py in is_public_plan(654)
  return self.get_privacy_option('is_public_plan')

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_option(269)
  options = self.get_privacy_options()

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_options(263)
  options = UserSetting.objects.get(user=self, name=UserSetting.USER_SETTING_PRIVACY_OPTIONS)

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 }}
65 {% endif %}
66 {% endif %}
67 {% if page.is_moc %}

/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" = 216844 AND "accounts_mocpurchase"."user_id" = 857040)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 857040) LIMIT 1
31 similar queries. Duplicated 14 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/./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" = 1113107
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 1113107 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 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" = 1113107
 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" = 1113107 LIMIT 21
17 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/./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" = 1113107)
 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" = 1113107) LIMIT 1
18 similar queries. Duplicated 2 times.
0.16

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" = 1113107)
 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" = 1113107) LIMIT 1
18 similar queries. Duplicated 2 times.
0.16

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" = 216844 AND "accounts_mocpurchase"."user_id" = 1113107)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 1113107) LIMIT 1
31 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/./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" = 596807
 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" = 596807 LIMIT 21
17 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)

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" = 857040
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 857040 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 similar queries. Duplicated 14 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/./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 "accounts_usersetting"."id",
       "accounts_usersetting"."user_id",
       "accounts_usersetting"."name",
       "accounts_usersetting"."value"
  FROM
"accounts_usersetting"
 WHERE
("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040)
 LIMIT
21
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040) LIMIT 21
16 similar queries. Duplicated 14 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/./accounts/models/user_extras.py in is_public_plan(654)
  return self.get_privacy_option('is_public_plan')

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_option(269)
  options = self.get_privacy_options()

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_options(263)
  options = UserSetting.objects.get(user=self, name=UserSetting.USER_SETTING_PRIVACY_OPTIONS)

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 }}
65 {% endif %}
66 {% endif %}
67 {% if page.is_moc %}

/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" = 216844 AND "accounts_mocpurchase"."user_id" = 857040)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 857040) LIMIT 1
31 similar queries. Duplicated 14 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/./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" = 26198
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 26198 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 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/./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" = 26198
 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" = 26198 LIMIT 21
17 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/./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" = 216844 AND "accounts_mocpurchase"."user_id" = 26198)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 26198) LIMIT 1
31 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 "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" = 594357
 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" = 594357 LIMIT 21
17 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)

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" = 857040
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 857040 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 similar queries. Duplicated 14 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/./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 "accounts_usersetting"."id",
       "accounts_usersetting"."user_id",
       "accounts_usersetting"."name",
       "accounts_usersetting"."value"
  FROM
"accounts_usersetting"
 WHERE
("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040)
 LIMIT
21
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040) LIMIT 21
16 similar queries. Duplicated 14 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/./accounts/models/user_extras.py in is_public_plan(654)
  return self.get_privacy_option('is_public_plan')

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_option(269)
  options = self.get_privacy_options()

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_options(263)
  options = UserSetting.objects.get(user=self, name=UserSetting.USER_SETTING_PRIVACY_OPTIONS)

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 }}
65 {% endif %}
66 {% endif %}
67 {% if page.is_moc %}

/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" = 216844 AND "accounts_mocpurchase"."user_id" = 857040)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 857040) LIMIT 1
31 similar queries. Duplicated 14 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 "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" = 594545
 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" = 594545 LIMIT 21
17 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)

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" = 26198
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 26198 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 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/./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" = 26198
 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" = 26198 LIMIT 21
17 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/./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" = 216844 AND "accounts_mocpurchase"."user_id" = 26198)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 26198) LIMIT 1
31 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/./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" = 594594
 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" = 594594 LIMIT 21
17 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)

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" = 857040
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 857040 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 similar queries. Duplicated 14 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/./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 "accounts_usersetting"."id",
       "accounts_usersetting"."user_id",
       "accounts_usersetting"."name",
       "accounts_usersetting"."value"
  FROM
"accounts_usersetting"
 WHERE
("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040)
 LIMIT
21
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040) LIMIT 21
16 similar queries. Duplicated 14 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/./accounts/models/user_extras.py in is_public_plan(654)
  return self.get_privacy_option('is_public_plan')

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_option(269)
  options = self.get_privacy_options()

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_options(263)
  options = UserSetting.objects.get(user=self, name=UserSetting.USER_SETTING_PRIVACY_OPTIONS)

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 }}
65 {% endif %}
66 {% endif %}
67 {% if page.is_moc %}

/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" = 216844 AND "accounts_mocpurchase"."user_id" = 857040)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 857040) LIMIT 1
31 similar queries. Duplicated 14 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/./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" = 1084990
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 1084990 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 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/./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" = 1084990
 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" = 1084990 LIMIT 21
17 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/./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" = 216844 AND "accounts_mocpurchase"."user_id" = 1084990)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 1084990) LIMIT 1
31 similar queries. Duplicated 2 times.
0.20

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" = 590525
 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" = 590525 LIMIT 21
17 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" = 857040
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 857040 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 similar queries. Duplicated 14 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/./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 "accounts_usersetting"."id",
       "accounts_usersetting"."user_id",
       "accounts_usersetting"."name",
       "accounts_usersetting"."value"
  FROM
"accounts_usersetting"
 WHERE
("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040)
 LIMIT
21
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040) LIMIT 21
16 similar queries. Duplicated 14 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/./accounts/models/user_extras.py in is_public_plan(654)
  return self.get_privacy_option('is_public_plan')

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_option(269)
  options = self.get_privacy_options()

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_options(263)
  options = UserSetting.objects.get(user=self, name=UserSetting.USER_SETTING_PRIVACY_OPTIONS)

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 }}
65 {% endif %}
66 {% endif %}
67 {% if page.is_moc %}

/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" = 216844 AND "accounts_mocpurchase"."user_id" = 857040)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 857040) LIMIT 1
31 similar queries. Duplicated 14 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/./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" = 590654
 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" = 590654 LIMIT 21
17 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" = 1084990
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 1084990 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 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/./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" = 1084990
 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" = 1084990 LIMIT 21
17 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/./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" = 216844 AND "accounts_mocpurchase"."user_id" = 1084990)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 1084990) LIMIT 1
31 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 "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" = 153907
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 153907 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 similar queries.
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/./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" = 153907
 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" = 153907 LIMIT 21
17 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
"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" = 153907)
 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" = 153907) LIMIT 1
18 similar queries. Duplicated 2 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/./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" = 153907)
 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" = 153907) LIMIT 1
18 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 "accounts_usersetting"."id",
       "accounts_usersetting"."user_id",
       "accounts_usersetting"."name",
       "accounts_usersetting"."value"
  FROM
"accounts_usersetting"
 WHERE
("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 153907)
 LIMIT
21
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 153907) LIMIT 21
16 similar queries.
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/./accounts/models/user_extras.py in is_public_plan(654)
  return self.get_privacy_option('is_public_plan')

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_option(269)
  options = self.get_privacy_options()

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_options(263)
  options = UserSetting.objects.get(user=self, name=UserSetting.USER_SETTING_PRIVACY_OPTIONS)

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 }}
65 {% endif %}
66 {% endif %}
67 {% if page.is_moc %}

/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" = 216844 AND "accounts_mocpurchase"."user_id" = 153907)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 153907) LIMIT 1
31 similar queries.
0.28

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" = 585766
 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" = 585766 LIMIT 21
17 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)

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" = 857040
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 857040 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 similar queries. Duplicated 14 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 "accounts_usersetting"."id",
       "accounts_usersetting"."user_id",
       "accounts_usersetting"."name",
       "accounts_usersetting"."value"
  FROM
"accounts_usersetting"
 WHERE
("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040)
 LIMIT
21
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040) LIMIT 21
16 similar queries. Duplicated 14 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/./accounts/models/user_extras.py in is_public_plan(654)
  return self.get_privacy_option('is_public_plan')

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_option(269)
  options = self.get_privacy_options()

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_options(263)
  options = UserSetting.objects.get(user=self, name=UserSetting.USER_SETTING_PRIVACY_OPTIONS)

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 }}
65 {% endif %}
66 {% endif %}
67 {% if page.is_moc %}

/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" = 216844 AND "accounts_mocpurchase"."user_id" = 857040)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 857040) LIMIT 1
31 similar queries. Duplicated 14 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 "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" = 891667
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 891667 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 similar queries.
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/./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" = 891667
 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" = 891667 LIMIT 21
17 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
"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" = 891667)
 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" = 891667) LIMIT 1
18 similar queries. Duplicated 2 times.
0.17

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" = 891667)
 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" = 891667) LIMIT 1
18 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" = 216844 AND "accounts_mocpurchase"."user_id" = 891667)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 891667) LIMIT 1
31 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/./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" = 583311
 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" = 583311 LIMIT 21
17 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)

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" = 857040
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 857040 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 similar queries. Duplicated 14 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 "accounts_usersetting"."id",
       "accounts_usersetting"."user_id",
       "accounts_usersetting"."name",
       "accounts_usersetting"."value"
  FROM
"accounts_usersetting"
 WHERE
("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040)
 LIMIT
21
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040) LIMIT 21
16 similar queries. Duplicated 14 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/./accounts/models/user_extras.py in is_public_plan(654)
  return self.get_privacy_option('is_public_plan')

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_option(269)
  options = self.get_privacy_options()

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_options(263)
  options = UserSetting.objects.get(user=self, name=UserSetting.USER_SETTING_PRIVACY_OPTIONS)

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 }}
65 {% endif %}
66 {% endif %}
67 {% if page.is_moc %}

/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" = 216844 AND "accounts_mocpurchase"."user_id" = 857040)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 857040) LIMIT 1
31 similar queries. Duplicated 14 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/./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" = 1084767
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 1084767 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 similar queries.
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/./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" = 1084767
 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" = 1084767 LIMIT 21
17 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" = 216844 AND "accounts_mocpurchase"."user_id" = 1084767)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 1084767) LIMIT 1
31 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/./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" = 576578
 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" = 576578 LIMIT 21
17 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" = 857040
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 857040 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 similar queries. Duplicated 14 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/./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 "accounts_usersetting"."id",
       "accounts_usersetting"."user_id",
       "accounts_usersetting"."name",
       "accounts_usersetting"."value"
  FROM
"accounts_usersetting"
 WHERE
("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040)
 LIMIT
21
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040) LIMIT 21
16 similar queries. Duplicated 14 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/./accounts/models/user_extras.py in is_public_plan(654)
  return self.get_privacy_option('is_public_plan')

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_option(269)
  options = self.get_privacy_options()

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_options(263)
  options = UserSetting.objects.get(user=self, name=UserSetting.USER_SETTING_PRIVACY_OPTIONS)

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 }}
65 {% endif %}
66 {% endif %}
67 {% if page.is_moc %}

/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" = 216844 AND "accounts_mocpurchase"."user_id" = 857040)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 857040) LIMIT 1
31 similar queries. Duplicated 14 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 "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" = 436715
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 436715 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 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" = 436715
 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" = 436715 LIMIT 21
17 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
"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" = 436715)
 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" = 436715) LIMIT 1
18 similar queries. Duplicated 2 times.
0.16

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" = 436715)
 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" = 436715) LIMIT 1
18 similar queries. Duplicated 2 times.
0.16

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 "accounts_usersetting"."id",
       "accounts_usersetting"."user_id",
       "accounts_usersetting"."name",
       "accounts_usersetting"."value"
  FROM
"accounts_usersetting"
 WHERE
("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 436715)
 LIMIT
21
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 436715) LIMIT 21
16 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 is_public_plan(654)
  return self.get_privacy_option('is_public_plan')

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_option(269)
  options = self.get_privacy_options()

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_options(263)
  options = UserSetting.objects.get(user=self, name=UserSetting.USER_SETTING_PRIVACY_OPTIONS)

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 }}
65 {% endif %}
66 {% endif %}
67 {% if page.is_moc %}

/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" = 216844 AND "accounts_mocpurchase"."user_id" = 436715)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 436715) LIMIT 1
31 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/./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" = 576518
 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" = 576518 LIMIT 21
17 similar queries.
0.21

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" = 857040
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 857040 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 similar queries. Duplicated 14 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 "accounts_usersetting"."id",
       "accounts_usersetting"."user_id",
       "accounts_usersetting"."name",
       "accounts_usersetting"."value"
  FROM
"accounts_usersetting"
 WHERE
("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040)
 LIMIT
21
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040) LIMIT 21
16 similar queries. Duplicated 14 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/./accounts/models/user_extras.py in is_public_plan(654)
  return self.get_privacy_option('is_public_plan')

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_option(269)
  options = self.get_privacy_options()

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_options(263)
  options = UserSetting.objects.get(user=self, name=UserSetting.USER_SETTING_PRIVACY_OPTIONS)

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 }}
65 {% endif %}
66 {% endif %}
67 {% if page.is_moc %}

/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" = 216844 AND "accounts_mocpurchase"."user_id" = 857040)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 857040) LIMIT 1
31 similar queries. Duplicated 14 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_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" = 343566
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 343566 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 similar queries.
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/./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" = 343566
 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" = 343566 LIMIT 21
17 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
"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" = 343566)
 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" = 343566) LIMIT 1
18 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
"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" = 343566)
 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" = 343566) LIMIT 1
18 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" = 216844 AND "accounts_mocpurchase"."user_id" = 343566)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 343566) LIMIT 1
31 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/./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" = 575777
 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" = 575777 LIMIT 21
17 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)

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" = 857040
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 857040 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 similar queries. Duplicated 14 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/./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 "accounts_usersetting"."id",
       "accounts_usersetting"."user_id",
       "accounts_usersetting"."name",
       "accounts_usersetting"."value"
  FROM
"accounts_usersetting"
 WHERE
("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040)
 LIMIT
21
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040) LIMIT 21
16 similar queries. Duplicated 14 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/./accounts/models/user_extras.py in is_public_plan(654)
  return self.get_privacy_option('is_public_plan')

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_option(269)
  options = self.get_privacy_options()

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_options(263)
  options = UserSetting.objects.get(user=self, name=UserSetting.USER_SETTING_PRIVACY_OPTIONS)

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 }}
65 {% endif %}
66 {% endif %}
67 {% if page.is_moc %}

/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" = 216844 AND "accounts_mocpurchase"."user_id" = 857040)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 857040) LIMIT 1
31 similar queries. Duplicated 14 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/./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" = 167728
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 167728 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 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" = 167728
 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" = 167728 LIMIT 21
17 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/./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" = 216844 AND "accounts_mocpurchase"."user_id" = 167728)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 167728) LIMIT 1
31 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/./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" = 575681
 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" = 575681 LIMIT 21
17 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)

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" = 857040
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 857040 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 similar queries. Duplicated 14 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 "accounts_usersetting"."id",
       "accounts_usersetting"."user_id",
       "accounts_usersetting"."name",
       "accounts_usersetting"."value"
  FROM
"accounts_usersetting"
 WHERE
("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040)
 LIMIT
21
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040) LIMIT 21
16 similar queries. Duplicated 14 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/./accounts/models/user_extras.py in is_public_plan(654)
  return self.get_privacy_option('is_public_plan')

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_option(269)
  options = self.get_privacy_options()

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_options(263)
  options = UserSetting.objects.get(user=self, name=UserSetting.USER_SETTING_PRIVACY_OPTIONS)

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 }}
65 {% endif %}
66 {% endif %}
67 {% if page.is_moc %}

/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" = 216844 AND "accounts_mocpurchase"."user_id" = 857040)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 857040) LIMIT 1
31 similar queries. Duplicated 14 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/./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" = 688869
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 688869 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 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" = 688869
 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" = 688869 LIMIT 21
17 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
"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" = 688869)
 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" = 688869) LIMIT 1
18 similar queries. Duplicated 2 times.
0.21

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" = 688869)
 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" = 688869) LIMIT 1
18 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" = 216844 AND "accounts_mocpurchase"."user_id" = 688869)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 688869) LIMIT 1
31 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/./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" = 575161
 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" = 575161 LIMIT 21
17 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)

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" = 857040
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 857040 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 similar queries. Duplicated 14 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/./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 "accounts_usersetting"."id",
       "accounts_usersetting"."user_id",
       "accounts_usersetting"."name",
       "accounts_usersetting"."value"
  FROM
"accounts_usersetting"
 WHERE
("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040)
 LIMIT
21
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040) LIMIT 21
16 similar queries. Duplicated 14 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/./accounts/models/user_extras.py in is_public_plan(654)
  return self.get_privacy_option('is_public_plan')

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_option(269)
  options = self.get_privacy_options()

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_options(263)
  options = UserSetting.objects.get(user=self, name=UserSetting.USER_SETTING_PRIVACY_OPTIONS)

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 }}
65 {% endif %}
66 {% endif %}
67 {% if page.is_moc %}

/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" = 216844 AND "accounts_mocpurchase"."user_id" = 857040)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 857040) LIMIT 1
31 similar queries. Duplicated 14 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 "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" = 1045577
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 1045577 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 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" = 1045577
 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" = 1045577 LIMIT 21
17 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/./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" = 1045577)
 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" = 1045577) LIMIT 1
18 similar queries. Duplicated 2 times.
0.20

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" = 1045577)
 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" = 1045577) LIMIT 1
18 similar queries. Duplicated 2 times.
0.17

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" = 216844 AND "accounts_mocpurchase"."user_id" = 1045577)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 1045577) LIMIT 1
31 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/./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" = 574306
 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" = 574306 LIMIT 21
17 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)

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" = 857040
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 857040 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
31 similar queries. Duplicated 14 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/./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 "accounts_usersetting"."id",
       "accounts_usersetting"."user_id",
       "accounts_usersetting"."name",
       "accounts_usersetting"."value"
  FROM
"accounts_usersetting"
 WHERE
("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040)
 LIMIT
21
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 857040) LIMIT 21
16 similar queries. Duplicated 14 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/./accounts/models/user_extras.py in is_public_plan(654)
  return self.get_privacy_option('is_public_plan')

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_option(269)
  options = self.get_privacy_options()

/home/nathan/rb/site/./accounts/models/user_extras.py in get_privacy_options(263)
  options = UserSetting.objects.get(user=self, name=UserSetting.USER_SETTING_PRIVACY_OPTIONS)

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 }}
65 {% endif %}
66 {% endif %}
67 {% if page.is_moc %}

/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" = 216844 AND "accounts_mocpurchase"."user_id" = 857040)
 LIMIT
1
SELECT ••• FROM "accounts_mocpurchase" WHERE ("accounts_mocpurchase"."is_active" AND "accounts_mocpurchase"."moc_id" = 216844 AND "accounts_mocpurchase"."user_id" = 857040) LIMIT 1
31 similar queries. Duplicated 14 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/./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" = 857040
SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 857040
4 similar queries. Duplicated 4 times.
0.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)

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" = 857040
SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 857040
4 similar queries. Duplicated 4 times.
0.28

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" = 857040
 LIMIT
21
SELECT ••• FROM "auth_user" WHERE "auth_user"."id" = 857040 LIMIT 21
3 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)

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

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.