DJDT

Time

Resource usage

Resource Value
User CPU time 564.212 msec
System CPU time 8.044 msec
Total CPU time 572.256 msec
Elapsed time 938.333 msec
Context switches 401 voluntary, 8 involuntary

Browser timing

Timing attribute Timeline Milliseconds since navigation start (+length)

SQL queries from 1 connection

  • default 371.24 ms (35 queries including 10 similar and 10 duplicates )
Query Timeline Time (ms) Action
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 UPPER("auth_user"."username"::text) = UPPER('Noahcat1'))
 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 UPPER("auth_user"."username"::text) = UPPER('Noahcat1')) LIMIT 21
8.91

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(763)
  profile_user = ProxyUser.objects.get(username__iexact=username)

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 (159227)
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 (159227)
0.16

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(763)
  profile_user = ProxyUser.objects.get(username__iexact=username)

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
UPPER("auth_user"."username"::text) = UPPER('Noahcat1')
 LIMIT
21
SELECT ••• FROM "lego_designer" INNER JOIN "auth_user" ON ("lego_designer"."user_ptr_id" = "auth_user"."id") WHERE UPPER("auth_user"."username"::text) = UPPER('Noahcat1') LIMIT 21
0.18

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(780)
  designer = Designer.objects.get_or_none(username__iexact=username)

/home/nathan/rb/site/./rb/utils.py in get_or_none(605)
  return manager.get(**kwargs)

SELECT COUNT(*) AS "__count"
  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" = 159227)
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" = 159227)
2 similar queries. Duplicated 2 times.
0.22

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(803)
  total_mocs = mocs.count()

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",
       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",
       T6."id",
       T6."parent_id",
       T6."name",
       T6."slug",
       T6."set_count",
       T6."t1_id",
       T6."t1_name",
       T6."t2_name",
       T6."t3_name",
       T6."lego_blurb",
       T6."banner_img",
       T6."descr",
       "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",
       "lego_setphoto"."id",
       "lego_setphoto"."set_id",
       "lego_setphoto"."photo_type_id",
       "lego_setphoto"."submitted_by_id",
       "lego_setphoto"."timestamp",
       "lego_setphoto"."is_active",
       "lego_setphoto"."is_primary",
       T9."id",
       T9."set_num",
       T9."name",
       T9."year",
       T9."theme_id",
       T9."set_type",
       T9."num_parts",
       T9."default_inventory_id",
       T9."is_active",
       T9."is_accessory",
       T9."added_dt",
       T9."added_by_id",
       T9."last_modified_dt",
       T9."last_modified_by_id",
       T9."last_checked_for_bi",
       T9."descr",
       T9."primary_photo_id",
       T9."is_gear",
       T9."is_book",
       T9."search_vector",
       T9."mfhash_vector",
       "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",
       T13."id",
       T13."set_num",
       T13."name",
       T13."year",
       T13."theme_id",
       T13."set_type",
       T13."num_parts",
       T13."default_inventory_id",
       T13."is_active",
       T13."is_accessory",
       T13."added_dt",
       T13."added_by_id",
       T13."last_modified_dt",
       T13."last_modified_by_id",
       T13."last_checked_for_bi",
       T13."descr",
       T13."primary_photo_id",
       T13."is_gear",
       T13."is_book",
       T13."search_vector",
       T13."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_designer"
    ON
("lego_moc"."designer_id" = "lego_designer"."user_ptr_id")
 INNER JOIN
"lego_theme"
    ON
("lego_baseset"."theme_id" = "lego_theme"."id")
  LEFT OUTER JOIN
"lego_theme" T5
    ON
("lego_theme"."parent_id" = T5."id")
  LEFT OUTER JOIN
"lego_theme" T6
    ON
(T5."parent_id" = T6."id")
  LEFT OUTER JOIN
"lego_inventory"
    ON
("lego_baseset"."default_inventory_id" = "lego_inventory"."id")
  LEFT OUTER JOIN
"lego_setphoto"
    ON
("lego_baseset"."primary_photo_id" = "lego_setphoto"."id")
  LEFT OUTER JOIN
"lego_baseset" T9
    ON
("lego_setphoto"."set_id" = T9."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" T13
    ON
("lego_moc"."parent_set_1_id" = T13."id")
  LEFT OUTER JOIN
"lego_setstatstotal"
    ON
("lego_baseset"."id" = "lego_setstatstotal"."set_id")
 WHERE
("lego_baseset"."is_active" AND "lego_moc"."designer_id" = 159227)
 ORDER BY
"lego_baseset"."added_dt" DESC
SELECT ••• FROM "lego_moc" INNER JOIN "lego_baseset" ON ("lego_moc"."baseset_ptr_id" = "lego_baseset"."id") INNER JOIN "lego_designer" ON ("lego_moc"."designer_id" = "lego_designer"."user_ptr_id") INNER JOIN "lego_theme" ON ("lego_baseset"."theme_id" = "lego_theme"."id") LEFT OUTER JOIN "lego_theme" T5 ON ("lego_theme"."parent_id" = T5."id") LEFT OUTER JOIN "lego_theme" T6 ON (T5."parent_id" = T6."id") LEFT OUTER JOIN "lego_inventory" ON ("lego_baseset"."default_inventory_id" = "lego_inventory"."id") LEFT OUTER JOIN "lego_setphoto" ON ("lego_baseset"."primary_photo_id" = "lego_setphoto"."id") LEFT OUTER JOIN "lego_baseset" T9 ON ("lego_setphoto"."set_id" = T9."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" T13 ON ("lego_moc"."parent_set_1_id" = T13."id") LEFT OUTER JOIN "lego_setstatstotal" ON ("lego_baseset"."id" = "lego_setstatstotal"."set_id") WHERE ("lego_baseset"."is_active" AND "lego_moc"."designer_id" = 159227) ORDER BY "lego_baseset"."added_dt" DESC
2.33

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(809)
  mocs = sort_user_mocs(request, mocs, default_sort_by=MocSorter.added.value, default_sort_dir='D')

/home/nathan/rb/site/./lego/filters.py in sort_user_mocs(1552)
  return MocSorter.sort_user_sets(user_sets, sort_by, sort_dir, group_by=group_by, group_by_db=group_by_db, apply_limit=apply_limit)

/home/nathan/rb/site/./lego/constants/mocs.py in sort_user_sets(133)
  return list(sets.order_by(*order_by_fields))

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 (160269, 177558))
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 (160269, 177558))
0.51

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(817)
  prefetch_related_objects(mocs, 'tags')

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",
       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",
       T6."id",
       T6."parent_id",
       T6."name",
       T6."slug",
       T6."set_count",
       T6."t1_id",
       T6."t1_name",
       T6."t2_name",
       T6."t3_name",
       T6."lego_blurb",
       T6."banner_img",
       T6."descr",
       "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",
       "lego_setphoto"."id",
       "lego_setphoto"."set_id",
       "lego_setphoto"."photo_type_id",
       "lego_setphoto"."submitted_by_id",
       "lego_setphoto"."timestamp",
       "lego_setphoto"."is_active",
       "lego_setphoto"."is_primary",
       T9."id",
       T9."set_num",
       T9."name",
       T9."year",
       T9."theme_id",
       T9."set_type",
       T9."num_parts",
       T9."default_inventory_id",
       T9."is_active",
       T9."is_accessory",
       T9."added_dt",
       T9."added_by_id",
       T9."last_modified_dt",
       T9."last_modified_by_id",
       T9."last_checked_for_bi",
       T9."descr",
       T9."primary_photo_id",
       T9."is_gear",
       T9."is_book",
       T9."search_vector",
       T9."mfhash_vector",
       "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",
       T13."id",
       T13."set_num",
       T13."name",
       T13."year",
       T13."theme_id",
       T13."set_type",
       T13."num_parts",
       T13."default_inventory_id",
       T13."is_active",
       T13."is_accessory",
       T13."added_dt",
       T13."added_by_id",
       T13."last_modified_dt",
       T13."last_modified_by_id",
       T13."last_checked_for_bi",
       T13."descr",
       T13."primary_photo_id",
       T13."is_gear",
       T13."is_book",
       T13."search_vector",
       T13."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_designer"
    ON
("lego_moc"."designer_id" = "lego_designer"."user_ptr_id")
 INNER JOIN
"lego_theme"
    ON
("lego_baseset"."theme_id" = "lego_theme"."id")
  LEFT OUTER JOIN
"lego_theme" T5
    ON
("lego_theme"."parent_id" = T5."id")
  LEFT OUTER JOIN
"lego_theme" T6
    ON
(T5."parent_id" = T6."id")
  LEFT OUTER JOIN
"lego_inventory"
    ON
("lego_baseset"."default_inventory_id" = "lego_inventory"."id")
  LEFT OUTER JOIN
"lego_setphoto"
    ON
("lego_baseset"."primary_photo_id" = "lego_setphoto"."id")
  LEFT OUTER JOIN
"lego_baseset" T9
    ON
("lego_setphoto"."set_id" = T9."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" T13
    ON
("lego_moc"."parent_set_1_id" = T13."id")
  LEFT OUTER JOIN
"lego_setstatstotal"
    ON
("lego_baseset"."id" = "lego_setstatstotal"."set_id")
 WHERE
("lego_baseset"."is_active" AND "lego_moc"."designer_id" = 159227)
SELECT ••• FROM "lego_moc" INNER JOIN "lego_baseset" ON ("lego_moc"."baseset_ptr_id" = "lego_baseset"."id") INNER JOIN "lego_designer" ON ("lego_moc"."designer_id" = "lego_designer"."user_ptr_id") INNER JOIN "lego_theme" ON ("lego_baseset"."theme_id" = "lego_theme"."id") LEFT OUTER JOIN "lego_theme" T5 ON ("lego_theme"."parent_id" = T5."id") LEFT OUTER JOIN "lego_theme" T6 ON (T5."parent_id" = T6."id") LEFT OUTER JOIN "lego_inventory" ON ("lego_baseset"."default_inventory_id" = "lego_inventory"."id") LEFT OUTER JOIN "lego_setphoto" ON ("lego_baseset"."primary_photo_id" = "lego_setphoto"."id") LEFT OUTER JOIN "lego_baseset" T9 ON ("lego_setphoto"."set_id" = T9."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" T13 ON ("lego_moc"."parent_set_1_id" = T13."id") LEFT OUTER JOIN "lego_setstatstotal" ON ("lego_baseset"."id" = "lego_setstatstotal"."set_id") WHERE ("lego_baseset"."is_active" AND "lego_moc"."designer_id" = 159227)
1.78

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(818)
  drill_downs = get_set_drill_downs(mocs, request.GET, all_items=all_mocs)

/home/nathan/rb/site/./lego/filters.py in get_set_drill_downs(1267)
  fields['Themes'] = get_theme_drill_down(sets, params=params, all_items=all_items)

/home/nathan/rb/site/./lego/filters.py in get_theme_drill_down(1069)
  drill_down = get_drill_down(items, params, 'theme', filter_fn, all_items=all_items)

/home/nathan/rb/site/./lego/filters.py in get_drill_down(958)
  for item in all_items:

SELECT SUM("lego_setstatstotal"."likes") AS "likes__sum"
  FROM
"lego_setstatstotal"
 WHERE
"lego_setstatstotal"."set_id" IN (
        SELECT U0."baseset_ptr_id"
          FROM
"lego_moc" U0
         INNER JOIN
"lego_baseset" U1
            ON
(U0."baseset_ptr_id" = U1."id")
         WHERE
(U1."is_active" AND U0."designer_id" = 159227)
       )
SELECT ••• FROM "lego_setstatstotal" WHERE "lego_setstatstotal"."set_id" IN (SELECT ••• FROM "lego_moc" U0 INNER JOIN "lego_baseset" U1 ON (U0."baseset_ptr_id" = U1."id") WHERE (U1."is_active" AND U0."designer_id" = 159227))
2 similar queries. Duplicated 2 times.
0.25

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(836)
  designer_stats = designer.get_stats()

/home/nathan/rb/site/./lego/models/designers.py in get_stats(79)
  num_likes = SetStatsTotal.objects.filter(set__in=Moc.objects.filter(designer=self)).aggregate(Sum('likes'))['likes__sum'] or 0

SELECT COUNT(*) AS "__count"
  FROM
"lego_designerfollower"
 WHERE
"lego_designerfollower"."designer_id" = 159227
SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 159227
2 similar queries. Duplicated 2 times.
0.22

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(836)
  designer_stats = designer.get_stats()

/home/nathan/rb/site/./lego/models/designers.py in get_stats(82)
  'num_followers': self.get_num_followers_formatted(),

/home/nathan/rb/site/./lego/models/designers.py in get_num_followers_formatted(231)
  i = DesignerFollower.objects.filter(designer_id=self.id).count()

SELECT "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
"accounts_userplan"
 WHERE
"accounts_userplan"."user_id" = 159227
 LIMIT
21
SELECT ••• FROM "accounts_userplan" WHERE "accounts_userplan"."user_id" = 159227 LIMIT 21
0.10

Connection: default

Transaction status: In transaction

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(848)
  designer_ga_tracking_id = designer.get_ga_tracking_id()

/home/nathan/rb/site/./lego/models/designers.py in get_ga_tracking_id(88)
  if self.plan.is_designer():

/usr/lib/python3.10/contextlib.py in inner(79)
  return func(*args, **kwds)

/home/nathan/venv_rb310/lib/python3.10/site-packages/annoying/fields.py in __get__(36)
  .__get__(instance, instance_type)

SELECT "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"
  FROM
"plans_plan"
 WHERE
"plans_plan"."id" = 1
 LIMIT
21
SELECT ••• FROM "plans_plan" WHERE "plans_plan"."id" = 1 LIMIT 21
2 similar queries. Duplicated 2 times.
0.06

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(848)
  designer_ga_tracking_id = designer.get_ga_tracking_id()

/home/nathan/rb/site/./lego/models/designers.py in get_ga_tracking_id(88)
  if self.plan.is_designer():

/home/nathan/rb/site/./accounts/models/users.py in is_designer(381)
  return self.plan.is_designer()

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-22T16:54:23.682234+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T16:54:23.682232+00:00'::timestamptz AND (mocs @> ANY (ARRAY[['177558', '160269']]::jsonb[])))
SELECT ••• FROM "lego_designerdiscount" WHERE ("lego_designerdiscount"."end_date" > '2026-01-22T16:54:23.682234+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T16:54:23.682232+00:00'::timestamptz AND (mocs @> ANY (ARRAY[['177558', '160269']]::jsonb[])))
0.43

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(855)
  Moc.attach_discount_to_mocs(mocs)

/home/nathan/rb/site/./lego/models/sets.py in attach_discount_to_mocs(1531)
  for discount in discounts:

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

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.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 "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" = 159227)
 LIMIT
21
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 159227) LIMIT 21
0.27

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.html', context)

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

7 {% url 'add_profile_avatar' request.user.get_username as url %}
8 {% include 'lego/includes/get_img_url_modal.html' with url=url %}
9
10 {% with profile_user.get_privacy_options as privacy_options %}
11 <div class="text-center pt-3 border-1 mb-20">
12 <a href="{% url 'user_profile' profile_user.username %}">
13 <img id="user_profile_avatar" src="{% avatar_url profile_user 150 %}" class="avatar" width="150px" height="150px">
14 </a>

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_card.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" = 159227
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 159227 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
2 similar queries. Duplicated 2 times.
0.21

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.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]

10 {% with profile_user.get_privacy_options as privacy_options %}
11 <div class="text-center pt-3 border-1 mb-20">
12 <a href="{% url 'user_profile' profile_user.username %}">
13 <img id="user_profile_avatar" src="{% avatar_url profile_user 150 %}" class="avatar" width="150px" height="150px">
14 </a>
15
16 {% if request.user == profile_user %}
17 <div class="js-load_user_avatar" data-modal="#change_avatar_modal"

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_card.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" = 159227
 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" = 159227 LIMIT 21
0.12

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.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():

24 <h2 class="size-18 mt-10 mb-0 js-hover-card" data-hover="{% url 'user_card' profile_user.username %}">{{ profile_user.username }}</h2>
25
26 <a href="{% url 'about' %}#roles">
27 <h3 class="size-12 mt-0 mb-10 text-info">{{ profile_user.get_rolename.0|upper }}</h3>
28 </a>
29 {% if request.user == profile_user or privacy_options.is_public_legosummary %}
30 <h3 class="size-12 mt-0 mb-10 text-muted">{{ profile_user.get_num_parts_summary.all_parts|intcomma }} Parts</h3>
31 {% endif %}

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_card.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" = 159227)
 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" = 159227) LIMIT 1
0.16

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.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():

24 <h2 class="size-18 mt-10 mb-0 js-hover-card" data-hover="{% url 'user_card' profile_user.username %}">{{ profile_user.username }}</h2>
25
26 <a href="{% url 'about' %}#roles">
27 <h3 class="size-12 mt-0 mb-10 text-info">{{ profile_user.get_rolename.0|upper }}</h3>
28 </a>
29 {% if request.user == profile_user or privacy_options.is_public_legosummary %}
30 <h3 class="size-12 mt-0 mb-10 text-muted">{{ profile_user.get_num_parts_summary.all_parts|intcomma }} Parts</h3>
31 {% endif %}

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_card.html

SELECT "accounts_userstats"."id",
       "accounts_userstats"."user_id",
       "accounts_userstats"."num_profile_views",
       "accounts_userstats"."num_shopper_scans",
       "accounts_userstats"."total_is_stale",
       "accounts_userstats"."total_sets",
       "accounts_userstats"."total_loose_parts",
       "accounts_userstats"."total_lost_set_parts",
       "accounts_userstats"."total_figures",
       "accounts_userstats"."total_all_parts"
  FROM
"accounts_userstats"
 WHERE
"accounts_userstats"."user_id" = 159227
 LIMIT
21
SELECT ••• FROM "accounts_userstats" WHERE "accounts_userstats"."user_id" = 159227 LIMIT 21
0.41

Connection: default

Transaction status: In transaction

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.html', context)

/home/nathan/rb/site/./accounts/models/user_extras.py in get_num_parts_summary(380)
  return self.stats.get_num_parts_summary()

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

27 <h3 class="size-12 mt-0 mb-10 text-info">{{ profile_user.get_rolename.0|upper }}</h3>
28 </a>
29 {% if request.user == profile_user or privacy_options.is_public_legosummary %}
30 <h3 class="size-12 mt-0 mb-10 text-muted">{{ profile_user.get_num_parts_summary.all_parts|intcomma }} Parts</h3>
31 {% endif %}
32
33 {% if request.user == profile_user or privacy_options.is_public_plan %}
34 {% if not profile_user.plan.plan.is_free %}

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_card.html

SELECT SUM("accounts_userlostpart"."lost_quantity") AS "lost_quantity__sum"
  FROM
"accounts_userlostpart"
 WHERE
"accounts_userlostpart"."user_id" = 159227
SELECT ••• FROM "accounts_userlostpart" WHERE "accounts_userlostpart"."user_id" = 159227
0.49

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.html', context)

/home/nathan/rb/site/./accounts/models/user_extras.py in get_num_parts_summary(380)
  return self.stats.get_num_parts_summary()

/home/nathan/rb/site/./accounts/models/stats.py in get_num_parts_summary(103)
  self.recalculate_stats()

/home/nathan/rb/site/./accounts/models/stats.py in recalculate_stats(84)
  self.total_lost_set_parts = self.user.lost_parts.aggregate(Sum('lost_quantity'))['lost_quantity__sum'] or 0

27 <h3 class="size-12 mt-0 mb-10 text-info">{{ profile_user.get_rolename.0|upper }}</h3>
28 </a>
29 {% if request.user == profile_user or privacy_options.is_public_legosummary %}
30 <h3 class="size-12 mt-0 mb-10 text-muted">{{ profile_user.get_num_parts_summary.all_parts|intcomma }} Parts</h3>
31 {% endif %}
32
33 {% if request.user == profile_user or privacy_options.is_public_plan %}
34 {% if not profile_user.plan.plan.is_free %}

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_card.html

SELECT SUM("accounts_userpart"."quantity") AS "quantity__sum"
  FROM
"accounts_userpart"
 WHERE
"accounts_userpart"."user_id" = 159227
SELECT ••• FROM "accounts_userpart" WHERE "accounts_userpart"."user_id" = 159227
3.17

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.html', context)

/home/nathan/rb/site/./accounts/models/user_extras.py in get_num_parts_summary(380)
  return self.stats.get_num_parts_summary()

/home/nathan/rb/site/./accounts/models/stats.py in get_num_parts_summary(103)
  self.recalculate_stats()

/home/nathan/rb/site/./accounts/models/stats.py in recalculate_stats(85)
  self.total_loose_parts = self.user.parts.aggregate(Sum('quantity'))['quantity__sum'] or 0

27 <h3 class="size-12 mt-0 mb-10 text-info">{{ profile_user.get_rolename.0|upper }}</h3>
28 </a>
29 {% if request.user == profile_user or privacy_options.is_public_legosummary %}
30 <h3 class="size-12 mt-0 mb-10 text-muted">{{ profile_user.get_num_parts_summary.all_parts|intcomma }} Parts</h3>
31 {% endif %}
32
33 {% if request.user == profile_user or privacy_options.is_public_plan %}
34 {% if not profile_user.plan.plan.is_free %}

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_card.html

drop table if exists temp_lostsetparts_159227drop table if exists temp_lostsetparts_159227
0.09

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.html', context)

/home/nathan/rb/site/./accounts/models/user_extras.py in get_num_parts_summary(380)
  return self.stats.get_num_parts_summary()

/home/nathan/rb/site/./accounts/models/stats.py in get_num_parts_summary(103)
  self.recalculate_stats()

/home/nathan/rb/site/./accounts/models/stats.py in recalculate_stats(86)
  self.total_all_parts = get_user_exact_parts_total(self.user)

/home/nathan/rb/site/./lego/build/build.py in get_user_exact_parts_total(628)
  sql = _get_user_myparts_sql(user, True, True, None, None, color_field, '', buildable_only=buildable_only, use_grouping=False, use_cached_data=False, build_options=build_options)

/home/nathan/rb/site/./lego/build/build.py in _get_user_myparts_sql(367)
  create_user_set_lost_parts_temp_table(user)

/home/nathan/rb/site/./lego/build/build.py in create_user_set_lost_parts_temp_table(209)
  run_dml(sql)

/home/nathan/rb/site/./rb/utils.py in run_dml(693)
  cursor.execute(sql, params)

27 <h3 class="size-12 mt-0 mb-10 text-info">{{ profile_user.get_rolename.0|upper }}</h3>
28 </a>
29 {% if request.user == profile_user or privacy_options.is_public_legosummary %}
30 <h3 class="size-12 mt-0 mb-10 text-muted">{{ profile_user.get_num_parts_summary.all_parts|intcomma }} Parts</h3>
31 {% endif %}
32
33 {% if request.user == profile_user or privacy_options.is_public_plan %}
34 {% if not profile_user.plan.plan.is_free %}

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_card.html

create
temporary
table temp_lostsetparts_159227 as select min(list_id) as list_id,
       s2.set_id,
       ip2.part_id,
       ip2.color_id,
       ip2.is_spare,
       lp.lost_quantity
  from
accounts_userlostpart lp
  join
lego_invpart ip2
    on
ip2.id=lp.inv_part_id
  join
accounts_userset s2
    on
s2.inventory_id=ip2.inventory_id
   and
s2.user_id=lp.user_id
 where
lp.user_id = 159227
   and
lp.grandparent_inventory_id is null
 group by
2,
       3,
       4,
       5,
       6
create temporary table temp_lostsetparts_159227 as select min(list_id) as list_id, s2.set_id, ip2.part_id, ip2.color_id, ip2.is_spare, lp.lost_quantity from accounts_userlostpart lp join lego_invpart ip2 on ip2.id=lp.inv_part_id join accounts_userset s2 on s2.inventory_id=ip2.inventory_id and s2.user_id=lp.user_id where lp.user_id = 159227 and lp.grandparent_inventory_id is null group by 2, 3, 4, 5, 6
7.30

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.html', context)

/home/nathan/rb/site/./accounts/models/user_extras.py in get_num_parts_summary(380)
  return self.stats.get_num_parts_summary()

/home/nathan/rb/site/./accounts/models/stats.py in get_num_parts_summary(103)
  self.recalculate_stats()

/home/nathan/rb/site/./accounts/models/stats.py in recalculate_stats(86)
  self.total_all_parts = get_user_exact_parts_total(self.user)

/home/nathan/rb/site/./lego/build/build.py in get_user_exact_parts_total(628)
  sql = _get_user_myparts_sql(user, True, True, None, None, color_field, '', buildable_only=buildable_only, use_grouping=False, use_cached_data=False, build_options=build_options)

/home/nathan/rb/site/./lego/build/build.py in _get_user_myparts_sql(367)
  create_user_set_lost_parts_temp_table(user)

/home/nathan/rb/site/./lego/build/build.py in create_user_set_lost_parts_temp_table(219)
  run_dml(sql)

/home/nathan/rb/site/./rb/utils.py in run_dml(693)
  cursor.execute(sql, params)

27 <h3 class="size-12 mt-0 mb-10 text-info">{{ profile_user.get_rolename.0|upper }}</h3>
28 </a>
29 {% if request.user == profile_user or privacy_options.is_public_legosummary %}
30 <h3 class="size-12 mt-0 mb-10 text-muted">{{ profile_user.get_num_parts_summary.all_parts|intcomma }} Parts</h3>
31 {% endif %}
32
33 {% if request.user == profile_user or privacy_options.is_public_plan %}
34 {% if not profile_user.plan.plan.is_free %}

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_card.html

create index temp_lostsetparts_159227_idx
    on
temp_lostsetparts_159227 (list_id, set_id)
create index temp_lostsetparts_159227_idx on temp_lostsetparts_159227 (list_id, set_id)
3.32

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.html', context)

/home/nathan/rb/site/./accounts/models/user_extras.py in get_num_parts_summary(380)
  return self.stats.get_num_parts_summary()

/home/nathan/rb/site/./accounts/models/stats.py in get_num_parts_summary(103)
  self.recalculate_stats()

/home/nathan/rb/site/./accounts/models/stats.py in recalculate_stats(86)
  self.total_all_parts = get_user_exact_parts_total(self.user)

/home/nathan/rb/site/./lego/build/build.py in get_user_exact_parts_total(628)
  sql = _get_user_myparts_sql(user, True, True, None, None, color_field, '', buildable_only=buildable_only, use_grouping=False, use_cached_data=False, build_options=build_options)

/home/nathan/rb/site/./lego/build/build.py in _get_user_myparts_sql(367)
  create_user_set_lost_parts_temp_table(user)

/home/nathan/rb/site/./lego/build/build.py in create_user_set_lost_parts_temp_table(222)
  run_dml(sql)

/home/nathan/rb/site/./rb/utils.py in run_dml(693)
  cursor.execute(sql, params)

27 <h3 class="size-12 mt-0 mb-10 text-info">{{ profile_user.get_rolename.0|upper }}</h3>
28 </a>
29 {% if request.user == profile_user or privacy_options.is_public_legosummary %}
30 <h3 class="size-12 mt-0 mb-10 text-muted">{{ profile_user.get_num_parts_summary.all_parts|intcomma }} Parts</h3>
31 {% endif %}
32
33 {% if request.user == profile_user or privacy_options.is_public_plan %}
34 {% if not profile_user.plan.plan.is_free %}

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_card.html


   set
local enable_gathermerge=off;WITH lostfigparts AS MATERIALIZED /* 159227 */ (
        select invset2.id as invset_id,
               ip2.part_id,
               ip2.color_id,
               lp.lost_quantity
          from
accounts_userlostpart lp
          join
lego_invpart ip2
            on
ip2.id = lp.inv_part_id
          join
lego_inventory si2
            on
ip2.inventory_id = si2.id
          join
lego_invset invset2
            on
si2.set_id = invset2.inv_set_id
          join
accounts_userset s2
            on
s2.inventory_id = invset2.inventory_id
           and
s2.user_id = lp.user_id
         where
lp.user_id = 159227
           and
invset2.inventory_id = lp.grandparent_inventory_id
       ), myparts /* _get_user_myparts_sql */ AS MATERIALIZED (
        SELECT p.part_id as part_group_id,
               color_id,
               quantity
          FROM
(
                SELECT 0 as set_id,
                       0 as part_id,
                       0 as color_id,
                       0 as quantity
                 WHERE
1=2
             UNION ALL
SELECT /* _get_user_set_parts_sql */ s.set_id,
                       ip.part_id,
                       c.id as color_id,
                       ip.quantity*s.quantity - coalesce(lp.lost_quantity,0) as quantity
                  FROM
accounts_userset s
                  JOIN
lego_invpart ip
                    on
ip.inventory_id=s.inventory_id
                   and
(s.include_spares or not ip.is_spare)
                  JOIN
lego_color c
                    ON
c.id = ip.color_id
                  LEFT OUTER JOIN
temp_lostsetparts_159227 lp
                    ON
lp.list_id=s.list_id
                   and
lp.set_id=s.set_id
                   and
lp.part_id=ip.part_id
                   and
lp.color_id=ip.color_id
                   and
lp.is_spare=ip.is_spare
                 WHERE
s.user_id = 159227
             UNION ALL
SELECT s.set_id,
                       ip.part_id,
                       c.id as color_id,
                       ip.quantity*s.quantity*invset.quantity - coalesce(lp.lost_quantity,0) as quantity
                  FROM
accounts_userset s
                  JOIN
lego_invset invset
                    ON
invset.inventory_id=s.inventory_id
                  JOIN
lego_inventory si
                    ON
si.set_id=invset.inv_set_id
                   and
si.version = (
                        select max(version)
                          from
lego_inventory si2
                         where
si.set_id=si2.set_id
                           and
si2.is_active
                       )
                  JOIN
lego_invpart ip
                    on
ip.inventory_id=si.id
                   and
(s.include_spares or not ip.is_spare)
                  JOIN
lego_color c
                    ON
c.id = ip.color_id
                  LEFT OUTER JOIN
lostfigparts lp
                    on
lp.invset_id=invset.id
                   and
ip.part_id=lp.part_id
                   and
ip.color_id=lp.color_id
                 WHERE
s.user_id = 159227
             UNION ALL
SELECT 0,
                       ip.part_id,
                       c.id as color_id,
                       ip.quantity
                  FROM
accounts_userpartlist pl
                  JOIN
accounts_userpart ip
                    on
pl.user_id=ip.user_id
                   and
pl.id=ip.list_id
                  JOIN
lego_color c
                    ON
c.id = ip.color_id
                 WHERE
ip.user_id = 159227
               ) p
          LEFT OUTER JOIN
lego_partrelationshipflat f
            on
p.part_id=f.part_id
       ) SELECT /* get_user_exact_parts_total */ coalesce(sum(my.quantity),0) as quantity
  FROM
myparts my
 WHERE
1=1
set local enable_gathermerge=off;WITH lostfigparts AS MATERIALIZED /* 159227 */ ( select invset2.id as invset_id, ip2.part_id, ip2.color_id, lp.lost_quantity from accounts_userlostpart lp join lego_invpart ip2 on ip2.id = lp.inv_part_id join lego_inventory si2 on ip2.inventory_id = si2.id join lego_invset invset2 on si2.set_id = invset2.inv_set_id join accounts_userset s2 on s2.inventory_id = invset2.inventory_id and s2.user_id = lp.user_id where lp.user_id = 159227 and invset2.inventory_id = lp.grandparent_inventory_id ), myparts /* _get_user_myparts_sql */ AS MATERIALIZED ( SELECT ••• FROM ( SELECT 0 as set_id, 0 as part_id, 0 as color_id, 0 as quantity WHERE 1=2 UNION ALL SELECT /* _get_user_set_parts_sql */ s.set_id, ip.part_id, c.id as color_id, ip.quantity*s.quantity - coalesce(lp.lost_quantity,0) as quantity FROM accounts_userset s JOIN lego_invpart ip on ip.inventory_id=s.inventory_id and (s.include_spares or not ip.is_spare) JOIN lego_color c ON c.id = ip.color_id LEFT OUTER JOIN temp_lostsetparts_159227 lp ON lp.list_id=s.list_id and lp.set_id=s.set_id and lp.part_id=ip.part_id and lp.color_id=ip.color_id and lp.is_spare=ip.is_spare WHERE s.user_id = 159227 UNION ALL SELECT s.set_id, ip.part_id, c.id as color_id, ip.quantity*s.quantity*invset.quantity - coalesce(lp.lost_quantity,0) as quantity FROM accounts_userset s JOIN lego_invset invset ON invset.inventory_id=s.inventory_id JOIN lego_inventory si ON si.set_id=invset.inv_set_id and si.version = (select max(version) from lego_inventory si2 where si.set_id=si2.set_id and si2.is_active) JOIN lego_invpart ip on ip.inventory_id=si.id and (s.include_spares or not ip.is_spare) JOIN lego_color c ON c.id = ip.color_id LEFT OUTER JOIN lostfigparts lp on lp.invset_id=invset.id and ip.part_id=lp.part_id and ip.color_id=lp.color_id WHERE s.user_id = 159227 UNION ALL SELECT 0, ip.part_id, c.id as color_id, ip.quantity FROM accounts_userpartlist pl JOIN accounts_userpart ip on pl.user_id=ip.user_id and pl.id=ip.list_id JOIN lego_color c ON c.id = ip.color_id WHERE ip.user_id = 159227 ) p LEFT OUTER JOIN lego_partrelationshipflat f on p.part_id=f.part_id ) SELECT /* get_user_exact_parts_total */ coalesce(sum(my.quantity),0) as quantity FROM myparts my WHERE 1=1
195.92

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.html', context)

/home/nathan/rb/site/./accounts/models/user_extras.py in get_num_parts_summary(380)
  return self.stats.get_num_parts_summary()

/home/nathan/rb/site/./accounts/models/stats.py in get_num_parts_summary(103)
  self.recalculate_stats()

/home/nathan/rb/site/./accounts/models/stats.py in recalculate_stats(86)
  self.total_all_parts = get_user_exact_parts_total(self.user)

/home/nathan/rb/site/./lego/build/build.py in get_user_exact_parts_total(641)
  data = run_sql(sql, {'user_id': user.id})

/home/nathan/rb/site/./rb/utils.py in run_sql(664)
  cursor.execute(sql, params)

27 <h3 class="size-12 mt-0 mb-10 text-info">{{ profile_user.get_rolename.0|upper }}</h3>
28 </a>
29 {% if request.user == profile_user or privacy_options.is_public_legosummary %}
30 <h3 class="size-12 mt-0 mb-10 text-muted">{{ profile_user.get_num_parts_summary.all_parts|intcomma }} Parts</h3>
31 {% endif %}
32
33 {% if request.user == profile_user or privacy_options.is_public_plan %}
34 {% if not profile_user.plan.plan.is_free %}

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_card.html

SELECT SUM("accounts_userset"."quantity") AS "quantity__sum"
  FROM
"accounts_userset"
 INNER JOIN
"accounts_usersetlist"
    ON
("accounts_userset"."list_id" = "accounts_usersetlist"."id")
 INNER JOIN
"lego_baseset"
    ON
("accounts_userset"."set_id" = "lego_baseset"."id")
 WHERE
("accounts_userset"."user_id" = 159227 AND "accounts_usersetlist"."user_id" = 159227 AND "lego_baseset"."set_type" IN ('Set', 'SubSet', 'BModel', 'MOC'))
SELECT ••• FROM "accounts_userset" INNER JOIN "accounts_usersetlist" ON ("accounts_userset"."list_id" = "accounts_usersetlist"."id") INNER JOIN "lego_baseset" ON ("accounts_userset"."set_id" = "lego_baseset"."id") WHERE ("accounts_userset"."user_id" = 159227 AND "accounts_usersetlist"."user_id" = 159227 AND "lego_baseset"."set_type" IN ('Set', 'SubSet', 'BModel', 'MOC'))
3.61

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.html', context)

/home/nathan/rb/site/./accounts/models/user_extras.py in get_num_parts_summary(380)
  return self.stats.get_num_parts_summary()

/home/nathan/rb/site/./accounts/models/stats.py in get_num_parts_summary(103)
  self.recalculate_stats()

/home/nathan/rb/site/./accounts/models/stats.py in recalculate_stats(87)
  num_sets = self.user.get_num_sets()

/home/nathan/rb/site/./accounts/models/user_extras.py in get_num_sets(331)
  total_sets = self.sets.filter(set__set_type__in=set_types, list__user=self).aggregate(Sum('quantity'))['quantity__sum'] or 0

27 <h3 class="size-12 mt-0 mb-10 text-info">{{ profile_user.get_rolename.0|upper }}</h3>
28 </a>
29 {% if request.user == profile_user or privacy_options.is_public_legosummary %}
30 <h3 class="size-12 mt-0 mb-10 text-muted">{{ profile_user.get_num_parts_summary.all_parts|intcomma }} Parts</h3>
31 {% endif %}
32
33 {% if request.user == profile_user or privacy_options.is_public_plan %}
34 {% if not profile_user.plan.plan.is_free %}

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_card.html

SELECT "accounts_userset"."id",
       "accounts_userset"."user_id",
       "accounts_userset"."list_id",
       "accounts_userset"."set_id",
       "accounts_userset"."inventory_id",
       "accounts_userset"."quantity",
       "accounts_userset"."include_spares",
       "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_usersetlist"."id",
       "accounts_usersetlist"."user_id",
       "accounts_usersetlist"."name",
       "accounts_usersetlist"."descr",
       "accounts_usersetlist"."is_buildable",
       "accounts_usersetlist"."num_sets",
       "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_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",
       T7."id",
       T7."parent_id",
       T7."name",
       T7."slug",
       T7."set_count",
       T7."t1_id",
       T7."t1_name",
       T7."t2_name",
       T7."t3_name",
       T7."lego_blurb",
       T7."banner_img",
       T7."descr",
       T8."id",
       T8."parent_id",
       T8."name",
       T8."slug",
       T8."set_count",
       T8."t1_id",
       T8."t1_name",
       T8."t2_name",
       T8."t3_name",
       T8."lego_blurb",
       T8."banner_img",
       T8."descr",
       "lego_setphoto"."id",
       "lego_setphoto"."set_id",
       "lego_setphoto"."photo_type_id",
       "lego_setphoto"."submitted_by_id",
       "lego_setphoto"."timestamp",
       "lego_setphoto"."is_active",
       "lego_setphoto"."is_primary",
       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",
       "accounts_usersetnote"."id",
       "accounts_usersetnote"."user_set_id",
       "accounts_usersetnote"."is_used",
       "accounts_usersetnote"."location",
       "accounts_usersetnote"."notes"
  FROM
"accounts_userset"
 INNER JOIN
"auth_user"
    ON
("accounts_userset"."user_id" = "auth_user"."id")
 INNER JOIN
"accounts_usersetlist"
    ON
("accounts_userset"."list_id" = "accounts_usersetlist"."id")
 INNER JOIN
"lego_baseset"
    ON
("accounts_userset"."set_id" = "lego_baseset"."id")
 INNER JOIN
"lego_theme"
    ON
("lego_baseset"."theme_id" = "lego_theme"."id")
  LEFT OUTER JOIN
"lego_theme" T7
    ON
("lego_theme"."parent_id" = T7."id")
  LEFT OUTER JOIN
"lego_theme" T8
    ON
(T7."parent_id" = T8."id")
  LEFT OUTER JOIN
"lego_setphoto"
    ON
("lego_baseset"."primary_photo_id" = "lego_setphoto"."id")
  LEFT OUTER JOIN
"lego_baseset" T10
    ON
("lego_setphoto"."set_id" = T10."id")
  LEFT OUTER JOIN
"accounts_usersetnote"
    ON
("accounts_userset"."id" = "accounts_usersetnote"."user_set_id")
 WHERE
("accounts_userset"."inventory_id" IN (SELECT U0."inventory_id" FROM "lego_invset" U0 INNER JOIN "lego_baseset" U1 ON (U0."inv_set_id" = U1."id") WHERE U1."set_type" = 'Figure') AND "accounts_userset"."user_id" = 159227)
SELECT ••• FROM "accounts_userset" INNER JOIN "auth_user" ON ("accounts_userset"."user_id" = "auth_user"."id") INNER JOIN "accounts_usersetlist" ON ("accounts_userset"."list_id" = "accounts_usersetlist"."id") INNER JOIN "lego_baseset" ON ("accounts_userset"."set_id" = "lego_baseset"."id") INNER JOIN "lego_theme" ON ("lego_baseset"."theme_id" = "lego_theme"."id") LEFT OUTER JOIN "lego_theme" T7 ON ("lego_theme"."parent_id" = T7."id") LEFT OUTER JOIN "lego_theme" T8 ON (T7."parent_id" = T8."id") LEFT OUTER JOIN "lego_setphoto" ON ("lego_baseset"."primary_photo_id" = "lego_setphoto"."id") LEFT OUTER JOIN "lego_baseset" T10 ON ("lego_setphoto"."set_id" = T10."id") LEFT OUTER JOIN "accounts_usersetnote" ON ("accounts_userset"."id" = "accounts_usersetnote"."user_set_id") WHERE ("accounts_userset"."inventory_id" IN (SELECT ••• FROM "lego_invset" U0 INNER JOIN "lego_baseset" U1 ON (U0."inv_set_id" = U1."id") WHERE U1."set_type" = 'Figure') AND "accounts_userset"."user_id" = 159227)
16.58

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.html', context)

/home/nathan/rb/site/./accounts/models/user_extras.py in get_num_parts_summary(380)
  return self.stats.get_num_parts_summary()

/home/nathan/rb/site/./accounts/models/stats.py in get_num_parts_summary(103)
  self.recalculate_stats()

/home/nathan/rb/site/./accounts/models/stats.py in recalculate_stats(89)
  inv_sets, user_sets = get_user_minifigs(self.user)

/home/nathan/rb/site/./lego/build/build.py in get_user_minifigs(786)
  for user_set in user_sets:

27 <h3 class="size-12 mt-0 mb-10 text-info">{{ profile_user.get_rolename.0|upper }}</h3>
28 </a>
29 {% if request.user == profile_user or privacy_options.is_public_legosummary %}
30 <h3 class="size-12 mt-0 mb-10 text-muted">{{ profile_user.get_num_parts_summary.all_parts|intcomma }} Parts</h3>
31 {% endif %}
32
33 {% if request.user == profile_user or privacy_options.is_public_plan %}
34 {% if not profile_user.plan.plan.is_free %}

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_card.html

SELECT "lego_invset"."id",
       "lego_invset"."inventory_id",
       "lego_invset"."inv_set_id",
       "lego_invset"."quantity",
       "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",
       "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",
       T4."id",
       T4."set_num",
       T4."name",
       T4."year",
       T4."theme_id",
       T4."set_type",
       T4."num_parts",
       T4."default_inventory_id",
       T4."is_active",
       T4."is_accessory",
       T4."added_dt",
       T4."added_by_id",
       T4."last_modified_dt",
       T4."last_modified_by_id",
       T4."last_checked_for_bi",
       T4."descr",
       T4."primary_photo_id",
       T4."is_gear",
       T4."is_book",
       T4."search_vector",
       T4."mfhash_vector",
       "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",
       T6."id",
       T6."parent_id",
       T6."name",
       T6."slug",
       T6."set_count",
       T6."t1_id",
       T6."t1_name",
       T6."t2_name",
       T6."t3_name",
       T6."lego_blurb",
       T6."banner_img",
       T6."descr",
       T7."id",
       T7."parent_id",
       T7."name",
       T7."slug",
       T7."set_count",
       T7."t1_id",
       T7."t1_name",
       T7."t2_name",
       T7."t3_name",
       T7."lego_blurb",
       T7."banner_img",
       T7."descr",
       "lego_set"."baseset_ptr_id",
       "lego_set"."start_date",
       "lego_set"."end_date"
  FROM
"lego_invset"
 INNER JOIN
"lego_inventory"
    ON
("lego_invset"."inventory_id" = "lego_inventory"."id")
 INNER JOIN
"lego_baseset"
    ON
("lego_inventory"."set_id" = "lego_baseset"."id")
 INNER JOIN
"lego_baseset" T4
    ON
("lego_invset"."inv_set_id" = T4."id")
 INNER JOIN
"lego_theme"
    ON
(T4."theme_id" = "lego_theme"."id")
  LEFT OUTER JOIN
"lego_theme" T6
    ON
("lego_theme"."parent_id" = T6."id")
  LEFT OUTER JOIN
"lego_theme" T7
    ON
(T6."parent_id" = T7."id")
  LEFT OUTER JOIN
"lego_set"
    ON
(T4."id" = "lego_set"."baseset_ptr_id")
 WHERE
"lego_invset"."inventory_id" IN (
        SELECT V0."inventory_id"
          FROM
"accounts_userset" V0
         WHERE
(V0."inventory_id" IN (SELECT U0."inventory_id" FROM "lego_invset" U0 INNER JOIN "lego_baseset" U1 ON (U0."inv_set_id" = U1."id") WHERE U1."set_type" = 'Figure') AND V0."user_id" = 159227)
       )
SELECT ••• FROM "lego_invset" INNER JOIN "lego_inventory" ON ("lego_invset"."inventory_id" = "lego_inventory"."id") INNER JOIN "lego_baseset" ON ("lego_inventory"."set_id" = "lego_baseset"."id") INNER JOIN "lego_baseset" T4 ON ("lego_invset"."inv_set_id" = T4."id") INNER JOIN "lego_theme" ON (T4."theme_id" = "lego_theme"."id") LEFT OUTER JOIN "lego_theme" T6 ON ("lego_theme"."parent_id" = T6."id") LEFT OUTER JOIN "lego_theme" T7 ON (T6."parent_id" = T7."id") LEFT OUTER JOIN "lego_set" ON (T4."id" = "lego_set"."baseset_ptr_id") WHERE "lego_invset"."inventory_id" IN (SELECT ••• FROM "accounts_userset" V0 WHERE (V0."inventory_id" IN (SELECT ••• FROM "lego_invset" U0 INNER JOIN "lego_baseset" U1 ON (U0."inv_set_id" = U1."id") WHERE U1."set_type" = 'Figure') AND V0."user_id" = 159227))
109.15

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.html', context)

/home/nathan/rb/site/./accounts/models/user_extras.py in get_num_parts_summary(380)
  return self.stats.get_num_parts_summary()

/home/nathan/rb/site/./accounts/models/stats.py in get_num_parts_summary(103)
  self.recalculate_stats()

/home/nathan/rb/site/./accounts/models/stats.py in recalculate_stats(89)
  inv_sets, user_sets = get_user_minifigs(self.user)

/home/nathan/rb/site/./lego/build/build.py in get_user_minifigs(793)
  for fig in user_inv_sets:

27 <h3 class="size-12 mt-0 mb-10 text-info">{{ profile_user.get_rolename.0|upper }}</h3>
28 </a>
29 {% if request.user == profile_user or privacy_options.is_public_legosummary %}
30 <h3 class="size-12 mt-0 mb-10 text-muted">{{ profile_user.get_num_parts_summary.all_parts|intcomma }} Parts</h3>
31 {% endif %}
32
33 {% if request.user == profile_user or privacy_options.is_public_plan %}
34 {% if not profile_user.plan.plan.is_free %}

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_card.html

SELECT "accounts_userset"."id",
       "accounts_userset"."user_id",
       "accounts_userset"."list_id",
       "accounts_userset"."set_id",
       "accounts_userset"."inventory_id",
       "accounts_userset"."quantity",
       "accounts_userset"."include_spares",
       "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_usersetlist"."id",
       "accounts_usersetlist"."user_id",
       "accounts_usersetlist"."name",
       "accounts_usersetlist"."descr",
       "accounts_usersetlist"."is_buildable",
       "accounts_usersetlist"."num_sets",
       "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_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",
       T6."id",
       T6."parent_id",
       T6."name",
       T6."slug",
       T6."set_count",
       T6."t1_id",
       T6."t1_name",
       T6."t2_name",
       T6."t3_name",
       T6."lego_blurb",
       T6."banner_img",
       T6."descr",
       T7."id",
       T7."parent_id",
       T7."name",
       T7."slug",
       T7."set_count",
       T7."t1_id",
       T7."t1_name",
       T7."t2_name",
       T7."t3_name",
       T7."lego_blurb",
       T7."banner_img",
       T7."descr",
       "lego_setphoto"."id",
       "lego_setphoto"."set_id",
       "lego_setphoto"."photo_type_id",
       "lego_setphoto"."submitted_by_id",
       "lego_setphoto"."timestamp",
       "lego_setphoto"."is_active",
       "lego_setphoto"."is_primary",
       T9."id",
       T9."set_num",
       T9."name",
       T9."year",
       T9."theme_id",
       T9."set_type",
       T9."num_parts",
       T9."default_inventory_id",
       T9."is_active",
       T9."is_accessory",
       T9."added_dt",
       T9."added_by_id",
       T9."last_modified_dt",
       T9."last_modified_by_id",
       T9."last_checked_for_bi",
       T9."descr",
       T9."primary_photo_id",
       T9."is_gear",
       T9."is_book",
       T9."search_vector",
       T9."mfhash_vector",
       "accounts_usersetnote"."id",
       "accounts_usersetnote"."user_set_id",
       "accounts_usersetnote"."is_used",
       "accounts_usersetnote"."location",
       "accounts_usersetnote"."notes"
  FROM
"accounts_userset"
 INNER JOIN
"lego_baseset"
    ON
("accounts_userset"."set_id" = "lego_baseset"."id")
 INNER JOIN
"auth_user"
    ON
("accounts_userset"."user_id" = "auth_user"."id")
 INNER JOIN
"accounts_usersetlist"
    ON
("accounts_userset"."list_id" = "accounts_usersetlist"."id")
 INNER JOIN
"lego_theme"
    ON
("lego_baseset"."theme_id" = "lego_theme"."id")
  LEFT OUTER JOIN
"lego_theme" T6
    ON
("lego_theme"."parent_id" = T6."id")
  LEFT OUTER JOIN
"lego_theme" T7
    ON
(T6."parent_id" = T7."id")
  LEFT OUTER JOIN
"lego_setphoto"
    ON
("lego_baseset"."primary_photo_id" = "lego_setphoto"."id")
  LEFT OUTER JOIN
"lego_baseset" T9
    ON
("lego_setphoto"."set_id" = T9."id")
  LEFT OUTER JOIN
"accounts_usersetnote"
    ON
("accounts_userset"."id" = "accounts_usersetnote"."user_set_id")
 WHERE
("lego_baseset"."set_type" = 'Figure' AND "accounts_userset"."user_id" = 159227)
SELECT ••• FROM "accounts_userset" INNER JOIN "lego_baseset" ON ("accounts_userset"."set_id" = "lego_baseset"."id") INNER JOIN "auth_user" ON ("accounts_userset"."user_id" = "auth_user"."id") INNER JOIN "accounts_usersetlist" ON ("accounts_userset"."list_id" = "accounts_usersetlist"."id") INNER JOIN "lego_theme" ON ("lego_baseset"."theme_id" = "lego_theme"."id") LEFT OUTER JOIN "lego_theme" T6 ON ("lego_theme"."parent_id" = T6."id") LEFT OUTER JOIN "lego_theme" T7 ON (T6."parent_id" = T7."id") LEFT OUTER JOIN "lego_setphoto" ON ("lego_baseset"."primary_photo_id" = "lego_setphoto"."id") LEFT OUTER JOIN "lego_baseset" T9 ON ("lego_setphoto"."set_id" = T9."id") LEFT OUTER JOIN "accounts_usersetnote" ON ("accounts_userset"."id" = "accounts_usersetnote"."user_set_id") WHERE ("lego_baseset"."set_type" = 'Figure' AND "accounts_userset"."user_id" = 159227)
2.66

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.html', context)

/home/nathan/rb/site/./accounts/models/user_extras.py in get_num_parts_summary(380)
  return self.stats.get_num_parts_summary()

/home/nathan/rb/site/./accounts/models/stats.py in get_num_parts_summary(103)
  self.recalculate_stats()

/home/nathan/rb/site/./accounts/models/stats.py in recalculate_stats(90)
  self.total_figures = sum([s.quantity for s in inv_sets]) + sum([s.quantity for s in user_sets])

27 <h3 class="size-12 mt-0 mb-10 text-info">{{ profile_user.get_rolename.0|upper }}</h3>
28 </a>
29 {% if request.user == profile_user or privacy_options.is_public_legosummary %}
30 <h3 class="size-12 mt-0 mb-10 text-muted">{{ profile_user.get_num_parts_summary.all_parts|intcomma }} Parts</h3>
31 {% endif %}
32
33 {% if request.user == profile_user or privacy_options.is_public_plan %}
34 {% if not profile_user.plan.plan.is_free %}

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_card.html

UPDATE "accounts_userstats"
   SET
"user_id" = 159227,
       "num_profile_views" = 239,
       "num_shopper_scans" = 0,
       "total_is_stale" = false, "total_sets" = 826,
       "total_loose_parts" = 12,
       "total_lost_set_parts" = 0,
       "total_figures" = 1423,
       "total_all_parts" = 223256
 WHERE
"accounts_userstats"."id" = 87318
UPDATE "accounts_userstats" SET "user_id" = 159227, "num_profile_views" = 239, "num_shopper_scans" = 0, "total_is_stale" = false, "total_sets" = 826, "total_loose_parts" = 12, "total_lost_set_parts" = 0, "total_figures" = 1423, "total_all_parts" = 223256 WHERE "accounts_userstats"."id" = 87318
11.17

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.html', context)

/home/nathan/rb/site/./accounts/models/user_extras.py in get_num_parts_summary(380)
  return self.stats.get_num_parts_summary()

/home/nathan/rb/site/./accounts/models/stats.py in get_num_parts_summary(103)
  self.recalculate_stats()

/home/nathan/rb/site/./accounts/models/stats.py in recalculate_stats(93)
  self.save()

27 <h3 class="size-12 mt-0 mb-10 text-info">{{ profile_user.get_rolename.0|upper }}</h3>
28 </a>
29 {% if request.user == profile_user or privacy_options.is_public_legosummary %}
30 <h3 class="size-12 mt-0 mb-10 text-muted">{{ profile_user.get_num_parts_summary.all_parts|intcomma }} Parts</h3>
31 {% endif %}
32
33 {% if request.user == profile_user or privacy_options.is_public_plan %}
34 {% if not profile_user.plan.plan.is_free %}

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_card.html

SELECT "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"
  FROM
"plans_plan"
 WHERE
"plans_plan"."id" = 1
 LIMIT
21
SELECT ••• FROM "plans_plan" WHERE "plans_plan"."id" = 1 LIMIT 21
2 similar queries. Duplicated 2 times.
0.13

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.html', context)

31 {% endif %}
32
33 {% if request.user == profile_user or privacy_options.is_public_plan %}
34 {% if not profile_user.plan.plan.is_free %}
35 <a href="{% url 'help_plan_limits' %}">
36 <div class="mb-10">{{ profile_user.get_plan_html }}</div>
37 </a>
38 {% endif %}

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_card.html

SELECT "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
"accounts_userprofile"
 WHERE
"accounts_userprofile"."user_id" = 159227
 LIMIT
21
SELECT ••• FROM "accounts_userprofile" WHERE "accounts_userprofile"."user_id" = 159227 LIMIT 21
0.36

Connection: default

Transaction status: In transaction

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.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)

52 {% endwith %}
53 {% endif %}
54
55 {% if profile_user.profile.trophy_badge.badge and privacy_options.is_public_badges %}
56 <a href="{% url 'badges' %}#{{ profile_user.profile.trophy_badge.badge.code }}">
57 <div class="text-center" style="margin:auto">
58 {% render_badge profile_user.profile.trophy_badge.badge %}
59 </div>

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_card.html

SELECT COUNT(*) AS "__count"
  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" = 159227)
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" = 159227)
2 similar queries. Duplicated 2 times.
0.26

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.html', context)

/home/nathan/rb/site/./accounts/models/user_extras.py in get_num_mocs(866)
  self._num_mocs = Moc.objects.filter(designer=self.designer).count()

60 </a>
61 {% endif %}
62
63 {% if profile_user.get_num_mocs > 0 %}
64 {% with profile_user.designer.get_stats as designer_stats %}
65 <div class="border-top-1 box-light">
66 <div class="row">
67 <div class="col-xs-4">

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_card.html

SELECT SUM("lego_setstatstotal"."likes") AS "likes__sum"
  FROM
"lego_setstatstotal"
 WHERE
"lego_setstatstotal"."set_id" IN (
        SELECT U0."baseset_ptr_id"
          FROM
"lego_moc" U0
         INNER JOIN
"lego_baseset" U1
            ON
(U0."baseset_ptr_id" = U1."id")
         WHERE
(U1."is_active" AND U0."designer_id" = 159227)
       )
SELECT ••• FROM "lego_setstatstotal" WHERE "lego_setstatstotal"."set_id" IN (SELECT ••• FROM "lego_moc" U0 INNER JOIN "lego_baseset" U1 ON (U0."baseset_ptr_id" = U1."id") WHERE (U1."is_active" AND U0."designer_id" = 159227))
2 similar queries. Duplicated 2 times.
0.30

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.html', context)

/home/nathan/rb/site/./lego/models/designers.py in get_stats(79)
  num_likes = SetStatsTotal.objects.filter(set__in=Moc.objects.filter(designer=self)).aggregate(Sum('likes'))['likes__sum'] or 0

61 {% endif %}
62
63 {% if profile_user.get_num_mocs > 0 %}
64 {% with profile_user.designer.get_stats as designer_stats %}
65 <div class="border-top-1 box-light">
66 <div class="row">
67 <div class="col-xs-4">
68 <a href="{% url 'user_mocs' profile_user.username %}">

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_card.html

SELECT COUNT(*) AS "__count"
  FROM
"lego_designerfollower"
 WHERE
"lego_designerfollower"."designer_id" = 159227
SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 159227
2 similar queries. Duplicated 2 times.
0.14

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.html', context)

/home/nathan/rb/site/./lego/models/designers.py in get_stats(82)
  'num_followers': self.get_num_followers_formatted(),

/home/nathan/rb/site/./lego/models/designers.py in get_num_followers_formatted(231)
  i = DesignerFollower.objects.filter(designer_id=self.id).count()

61 {% endif %}
62
63 {% if profile_user.get_num_mocs > 0 %}
64 {% with profile_user.designer.get_stats as designer_stats %}
65 <div class="border-top-1 box-light">
66 <div class="row">
67 <div class="col-xs-4">
68 <a href="{% url 'user_mocs' profile_user.username %}">

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_card.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" = 159227
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 159227 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
2 similar queries. Duplicated 2 times.
0.14

Connection: default

Transaction status: Idle

/home/nathan/rb/site/./accounts/views/profile.py in user_mocs(877)
  return render(request, 'accounts/user_mocs.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]

4 <div class="visible-xs user-mobile-menu mb-30">
5 <div class="mb-10">
6 <a href="{% url 'user_profile' profile_user.username %}">
7 <img id="user_profile_avatar" src="{% avatar_url profile_user 75 %}" class="avatar mr-10" width="50px" height="50px">
8 {{ profile_user.username }}
9 </a>
10
11 {% if request.user.is_authenticated and request.user != profile_user %}

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_mobile_menu.html

Log messages

No messages logged.