Welcome

Hi there !

My journey to recreate EVE Online spaceships has begun !


All ship types have a "normal" scale and bigger ships have a "large" scale, the reason for this is to allow people to create smaller scale models of their favorite Battleships/Supercapitals/etc according to their budget (and/or interest).

I might consider a "universal" scale at some point, problem is that I might have to exclude Capitals/Supercapitals considering how much bigger they are compared to other ships !

For the time being, these are the scales I will be using :
     
SHIP TYPES SCALES IG SIZES (LONG) RL SIZES (studs) RL SIZES (cm) PIECE COUNTS PIECE PRICE (~0.15 €/p)
    ###SUBCAPITALS###        
Pod 1/80 ~4 m ~6 Studs ~5 cm ~50 ~8 €
Shuttles 1/500 ~50 m ~13 Studs ~10 cm ~200 ~30 €
Corvettes 1/500 ~70 m ~18 Studs ~14 cm ~400 ~60 €
Frigates 1/500 ~100 m ~25 Studs ~20 cm ~700 ~110 €
Destroyers 1/1.500 ~250 m ~21 Studs ~17 cm ~500 ~80 €
T3 Destroyers 1/1.500 ~400 m ~34 Studs ~27 cm ~1.200 ~180 €
T3 Destroyers - SMALL 1/3.000 ~400 m ~16 Studs ~13 cm ~300 ~50 €
Cruisers 1/1.500 ~400 m ~34 Studs ~27 cm ~1.200 ~180 €
Cruisers – SMALL 1/3.000 ~400 m ~16 Studs ~13 cm ~300 ~50 €
Battlecruisers 1/1.500 ~500 m ~41 Studs ~33 cm ~1.700 ~260 €
Battlecruisers – SMALL 1/3.000 ~500 m ~21 Studs ~17 cm ~450 ~70 €
Battleships 1/3.000 ~1.2 km ~50 Studs ~40 cm ~2.500 ~380 €
Battleships – SMALL 1/7.000 ~1.2 km ~21 Studs ~17 cm ~450 ~70 €
Barges 1/1.500 ~350 m ~30 Studs ~24 cm ~1.000 ~150 €
Haulers 1/3.000 ~700 m ~30 Studs ~24 cm ~1.000 ~150 €
Industrials (ORE) 1/3.000 ~1.5 km ~62 Studs ~50 cm ~4.000 ~600 €
Industrials (ORE) – SMALL 1/7.000 ~1.5 km ~27 Studs ~22 cm ~750 ~120 €
    ###CAPITALS###        
Carriers 1/5.000 ~2.5 km ~62 Studs ~50 cm ~4.000 ~600 €
Carriers – SMALL 1/15.000 ~2.5 km ~21 Studs ~17 cm ~450 ~70 €
Dreadnoughts 1/8.000 ~4 km ~62 Studs ~50 cm ~4.000 ~600 €
Dreadnoughts – SMALL 1/15.000 ~4 km ~34 Studs ~27 cm ~1.200 ~180 €
FAXes 1/8.000 ~4.5 km ~70 Studs ~56 cm ~5.000 ~750 €
FAXes – SMALL 1/15.000 ~4.5 km ~38 Studs ~30 cm ~1.500 ~230 €
Freighters 1/5.000 ~2 km ~50 Studs ~40 cm ~2.500 ~380 €
Freighters – SMALL 1/15.000 ~2 km ~18 Studs ~14 cm ~350 ~50 €
Industrials (ORE) 1/5.000 ~2.5 km ~62 Studs ~50 cm ~4.000 ~600 €
Industrials (ORE) – SMALL 1/15.000 ~2.5 km ~21 Studs ~17 cm ~450 ~70 €
    ###SUPERCAPITALS###        
Supercarriers 1/15.000 ~8.5 km ~71 Studs ~57 cm ~5.000 ~750 €
Supercarriers – SMALL 1/50.000 ~8.5 km ~21 Studs ~17 cm ~500 ~80 €
Titans 1/25.000 ~16 km ~80 Studs ~64 cm ~6.500 ~1.000 €
Titans – SMALL 1/50.000 ~16 km ~40 Studs ~32 cm ~1.600 ~240 €

Those sizes/scales are purely averages, some ships can be much smaller or much bigger in game depending on the model.
For instance I might change the scale of FAXes because even though they are ~4.5 km long on average, they are almost all over 9 km tall (which would make them around a meter tall at the 1/8000 scale). I will decide on that when I get to play with the FAX models.


I also do other MOCs from time to time, mainly military vehicules, so keep an eye out if you're interested in those ! ;)


Follow my Instagram or my Imgur (full res 4K renders) for my next Builds !
https://www.instagram.com/zejquanta/
https://imgur.com/user/ZejQuanta


All feedback is more than welcome !
I'm at the start of my MOCing journey, so any and all advices/found errors/etc are more than welcome ! :)

Thank you for looking at my creations ! :D
DJDT

Time

Resource usage

Resource Value
User CPU time 249.978 msec
System CPU time 0.669 msec
Total CPU time 250.647 msec
Elapsed time 272.005 msec
Context switches 74 voluntary, 2 involuntary

Browser timing

Timing attribute Timeline Milliseconds since navigation start (+length)

SQL queries from 1 connection

  • default 19.67 ms (34 queries including 13 similar and 11 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 "auth_user"."username" = 'ZejQuanta')
 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"."username" = 'ZejQuanta') LIMIT 21
8.76

Connection: default

Transaction status: Idle

/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
  return fn(*args, **kw)

/home/nathan/rb/site/./accounts/views/profile.py in user_profile(327)
  profile_user = get_object_or_404(ProxyUser, username=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 (573045)
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 (573045)
2 similar queries. Duplicated 2 times.
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/./accounts/views/profile.py in user_profile(327)
  profile_user = get_object_or_404(ProxyUser, username=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
"lego_designer"."user_ptr_id" = 573045
 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" = 573045 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/./accounts/views/profile.py in user_profile(343)
  context['designer_ga_tracking_id'] = profile_user.designer.get_ga_tracking_id()

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

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/./accounts/views/profile.py in user_profile(343)
  context['designer_ga_tracking_id'] = profile_user.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" = 4
 LIMIT
21
SELECT ••• FROM "plans_plan" WHERE "plans_plan"."id" = 4 LIMIT 21
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/./accounts/views/profile.py in user_profile(343)
  context['designer_ga_tracking_id'] = profile_user.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 "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" = 573045)
 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" = 573045) LIMIT 21
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/./accounts/views/profile.py in user_profile(343)
  context['designer_ga_tracking_id'] = profile_user.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 (573045)
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 (573045)
2 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/./accounts/views/profile.py in user_profile(343)
  context['designer_ga_tracking_id'] = profile_user.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" = 573045)
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'personalisation' AND "accounts_usersetting"."user_id" = 573045)
0.18

Connection: default

Transaction status: Idle

/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
  return fn(*args, **kw)

/home/nathan/rb/site/./accounts/views/profile.py in user_profile(343)
  context['designer_ga_tracking_id'] = profile_user.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 "accounts_userprofilesection"."id",
       "accounts_userprofilesection"."user_id",
       "accounts_userprofilesection"."section",
       "accounts_userprofilesection"."order",
       "accounts_userprofilesection"."options"
  FROM
"accounts_userprofilesection"
 WHERE
"accounts_userprofilesection"."user_id" = 573045
 ORDER BY
"accounts_userprofilesection"."order" ASC
SELECT ••• FROM "accounts_userprofilesection" WHERE "accounts_userprofilesection"."user_id" = 573045 ORDER BY "accounts_userprofilesection"."order" ASC
0.18

Connection: default

Transaction status: Idle

/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
  return fn(*args, **kw)

/home/nathan/rb/site/./accounts/views/profile.py in user_profile(351)
  if len(context['sections']) == 0:

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",
       "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_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")
 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"."is_active" AND "lego_moc"."designer_id" = 573045)
 ORDER BY
"lego_baseset"."added_dt" DESC
 LIMIT
6
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") 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"."is_active" AND "lego_moc"."designer_id" = 573045) ORDER BY "lego_baseset"."added_dt" DESC LIMIT 6
2.55

Connection: default

Transaction status: Idle

/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
  return fn(*args, **kw)

/home/nathan/rb/site/./accounts/views/profile.py in user_profile(357)
  context.update(section.get_context(request, profile_user))

/home/nathan/rb/site/./accounts/models/users.py in get_context(1859)
  for moc in mocs:

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 (263717, 263718, 264056, 264058, 267164, 264062))
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 (263717, 263718, 264056, 264058, 267164, 264062))
2 similar queries.
0.50

Connection: default

Transaction status: Idle

/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
  return fn(*args, **kw)

/home/nathan/rb/site/./accounts/views/profile.py in user_profile(357)
  context.update(section.get_context(request, profile_user))

/home/nathan/rb/site/./accounts/models/users.py in get_context(1859)
  for moc in mocs:

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-22T14:44:16.051249+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T14:44:16.051246+00:00'::timestamptz AND (mocs @> ANY (ARRAY[['267164', '264062', '264056', '264058', '263718', '263717']]::jsonb[])))
SELECT ••• FROM "lego_designerdiscount" WHERE ("lego_designerdiscount"."end_date" > '2026-01-22T14:44:16.051249+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T14:44:16.051246+00:00'::timestamptz AND (mocs @> ANY (ARRAY[['267164', '264062', '264056', '264058', '263718', '263717']]::jsonb[])))
0.55

Connection: default

Transaction status: Idle

/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
  return fn(*args, **kw)

/home/nathan/rb/site/./accounts/views/profile.py in user_profile(357)
  context.update(section.get_context(request, profile_user))

/home/nathan/rb/site/./accounts/models/users.py in get_context(1864)
  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 "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" IN (573045))
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" IN (573045))
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/./accounts/views/profile.py in user_profile(357)
  context.update(section.get_context(request, profile_user))

/home/nathan/rb/site/./accounts/models/users.py in get_context(1865)
  Moc.attach_designer_plan_to_mocs(mocs)

/home/nathan/rb/site/./lego/models/sets.py in attach_designer_plan_to_mocs(1550)
  settings_map = {s.user_id: s.value['is_public_plan'] for s in settings}

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",
       "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_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")
 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"."is_active" AND "lego_moc"."designer_id" = 573045)
 ORDER BY
"lego_setstatstotal"."likes" DESC
 LIMIT
6
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") 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"."is_active" AND "lego_moc"."designer_id" = 573045) ORDER BY "lego_setstatstotal"."likes" DESC LIMIT 6
1.75

Connection: default

Transaction status: Idle

/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
  return fn(*args, **kw)

/home/nathan/rb/site/./accounts/views/profile.py in user_profile(357)
  context.update(section.get_context(request, profile_user))

/home/nathan/rb/site/./accounts/models/users.py in get_context(1836)
  mocs = Designer.get_liked_mocs(user.id, 6)

/home/nathan/rb/site/./lego/models/designers.py in get_liked_mocs(180)
  pop_mocs = list(qs[:limit])

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 (261218, 173886, 105649, 261394, 267164, 264062))
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 (261218, 173886, 105649, 261394, 267164, 264062))
2 similar queries.
0.64

Connection: default

Transaction status: Idle

/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
  return fn(*args, **kw)

/home/nathan/rb/site/./accounts/views/profile.py in user_profile(357)
  context.update(section.get_context(request, profile_user))

/home/nathan/rb/site/./accounts/models/users.py in get_context(1836)
  mocs = Designer.get_liked_mocs(user.id, 6)

/home/nathan/rb/site/./lego/models/designers.py in get_liked_mocs(180)
  pop_mocs = list(qs[:limit])

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-22T14:44:16.058811+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T14:44:16.058809+00:00'::timestamptz AND (mocs @> ANY (ARRAY[['173886', '267164', '264062', '105649', '261218', '261394']]::jsonb[])))
SELECT ••• FROM "lego_designerdiscount" WHERE ("lego_designerdiscount"."end_date" > '2026-01-22T14:44:16.058811+00:00'::timestamptz AND "lego_designerdiscount"."start_date" <= '2026-01-22T14:44:16.058809+00:00'::timestamptz AND (mocs @> ANY (ARRAY[['173886', '267164', '264062', '105649', '261218', '261394']]::jsonb[])))
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/./accounts/views/profile.py in user_profile(357)
  context.update(section.get_context(request, profile_user))

/home/nathan/rb/site/./accounts/models/users.py in get_context(1842)
  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 "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" IN (573045))
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" IN (573045))
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/./accounts/views/profile.py in user_profile(357)
  context.update(section.get_context(request, profile_user))

/home/nathan/rb/site/./accounts/models/users.py in get_context(1843)
  Moc.attach_designer_plan_to_mocs(mocs)

/home/nathan/rb/site/./lego/models/sets.py in attach_designer_plan_to_mocs(1550)
  settings_map = {s.user_id: s.value['is_public_plan'] for s in settings}

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

Connection: default

Transaction status: Idle

/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
  return fn(*args, **kw)

/home/nathan/rb/site/./accounts/views/profile.py in user_profile(358)
  return render(request, 'accounts/user_profile.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 "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" = 573045
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 573045 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/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
  return fn(*args, **kw)

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

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" = 573045)
 LIMIT
21
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 573045) LIMIT 21
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/./accounts/views/profile.py in user_profile(358)
  return render(request, 'accounts/user_profile.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)

16 <div class="container">
17 {% include 'accounts/includes/user_profile_mobile_menu.html' %}
18 <div class="row">
19 {% with profile_user.get_privacy_options as privacy_options %}
20 {% include "accounts/includes/user_profile_navbar.html" %}
21
22 <div class="col-lg-9 col-md-9 col-sm-8 mb-80">
23

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

11
12 <!-- Left column - navigation -->
13 <div class="col-lg-3 col-md-3 col-sm-4 hidden-xs">
14 {% with profile_user.get_privacy_options as privacy_options %}
15 {% include 'accounts/includes/user_profile_navbar_card.html' %}
16
17 <div class="hidden-xs">
18 {% include 'accounts/includes/user_profile_navbar_location.html' %}

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar.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" = 573045)
 LIMIT
21
SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 573045) LIMIT 21
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/./accounts/views/profile.py in user_profile(358)
  return render(request, 'accounts/user_profile.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" = 573045
 ORDER BY
"avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC
 LIMIT
1
SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 573045 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1
2 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/./accounts/views/profile.py in user_profile(358)
  return render(request, 'accounts/user_profile.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 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" = 573045)
 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" = 573045) LIMIT 1
0.26

Connection: default

Transaction status: Idle

/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
  return fn(*args, **kw)

/home/nathan/rb/site/./accounts/views/profile.py in user_profile(358)
  return render(request, 'accounts/user_profile.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_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" = 573045
 LIMIT
21
SELECT ••• FROM "accounts_userprofile" WHERE "accounts_userprofile"."user_id" = 573045 LIMIT 21
0.23

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/./accounts/views/profile.py in user_profile(358)
  return render(request, 'accounts/user_profile.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" = 573045)
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" = 573045)
0.26

Connection: default

Transaction status: Idle

/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
  return fn(*args, **kw)

/home/nathan/rb/site/./accounts/views/profile.py in user_profile(358)
  return render(request, 'accounts/user_profile.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" = 573045)
       )
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" = 573045))
0.37

Connection: default

Transaction status: Idle

/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
  return fn(*args, **kw)

/home/nathan/rb/site/./accounts/views/profile.py in user_profile(358)
  return render(request, 'accounts/user_profile.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" = 573045
SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 573045
0.51

Connection: default

Transaction status: Idle

/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
  return fn(*args, **kw)

/home/nathan/rb/site/./accounts/views/profile.py in user_profile(358)
  return render(request, 'accounts/user_profile.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 COUNT(*) AS "__count"
  FROM
"accounts_usertrophy"
 WHERE
"accounts_usertrophy"."user_id" = 573045
SELECT ••• FROM "accounts_usertrophy" WHERE "accounts_usertrophy"."user_id" = 573045
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/./accounts/views/profile.py in user_profile(358)
  return render(request, 'accounts/user_profile.html', context)

1 {% if profile_user.trophies.count > 0 %}
2 <div class="mb-30 border box-light">
3 <div class="box-inner">
4 <h4><i class="fa fa-trophy"></i> TROPHY CASE</h4>
5 {% for trophy in profile_user.trophies.all %}

/home/nathan/rb/site/accounts/templates/accounts/includes/user_profile_navbar_trophy.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" = 573045
 LIMIT
21
SELECT ••• FROM "accounts_userstats" WHERE "accounts_userstats"."user_id" = 573045 LIMIT 21
0.23

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/./accounts/views/profile.py in user_profile(358)
  return render(request, 'accounts/user_profile.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)

137 </div>
138
139 <div class="col-xs-6 col-condensed text-center bold">
140 <h3 class="mt-10 mb-0 text-info">{{ profile_user.stats.num_profile_views|intcomma }}</h3>
141 <h4 class="size-11 mt-0 mb-10">VIEWS</h4>
142 </div>
143 </div>
144

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

SELECT "accounts_userrank"."user_id",
       "accounts_userrank"."rank_points",
       "accounts_userrank"."rank_parts",
       "accounts_userrank"."rank_views"
  FROM
"accounts_userrank"
 WHERE
"accounts_userrank"."user_id" = 573045
 LIMIT
21
SELECT ••• FROM "accounts_userrank" WHERE "accounts_userrank"."user_id" = 573045 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/./accounts/views/profile.py in user_profile(358)
  return render(request, 'accounts/user_profile.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)

142 </div>
143 </div>
144
145 {% if profile_user.rank.rank_views > 0 or profile_user.rank.rank_points > 0 %}
146 <div class="box-inner mb-20 hidden-xs">
147 <h2><i class="fa fa-line-chart"></i> USER RANKINGS</h2>
148 {% if profile_user.rank.rank_points > 0 %}
149 <div class="row row-condensed" title="Number of Points (Rank 1 = highest)">

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

SELECT 1 AS "a"
  FROM
"lego_mocswitherrors"
 WHERE
"lego_mocswitherrors"."moc_id" = 261218
 LIMIT
1
SELECT ••• FROM "lego_mocswitherrors" WHERE "lego_mocswitherrors"."moc_id" = 261218 LIMIT 1
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/./accounts/views/profile.py in user_profile(358)
  return render(request, 'accounts/user_profile.html', context)

/home/nathan/rb/site/./lego/templatetags/sets/drawing.py in render_moc(78)
  return render_to_string('sets/render_set.html', {'set': set,

/home/nathan/rb/site/./lego/models/mocs.py in is_alternate(204)
  if not self.is_pending and MocsWithErrors.objects.filter(moc=self).exists():

181 {% endwith %}
182 {% else %}
183 {# repeat alt label check here so dont have to recalculate discount #}
184 {% if set.is_moc and set.get_moc.is_alternate %}
185 <span class="label label-altbuild size-10" title="Alternate Build MOC{% if set.get_moc.parent_set_2 %}{% else %} - only uses parts from {{ set.get_moc.parent_set_1 }}{% endif %}"><i class="fa fa-fw fa-retweet text-white"></i> <span class="hidden-xs"> Alt</span></span>
186 {% endif %}
187 {% endif %}
188

/home/nathan/rb/site/lego/templates/sets/render_set.html

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"
  FROM
"lego_baseset"
 WHERE
"lego_baseset"."id" = 196061
 LIMIT
21
SELECT ••• FROM "lego_baseset" WHERE "lego_baseset"."id" = 196061 LIMIT 21
0.13

Connection: default

Transaction status: Idle

/home/nathan/venv_rb310/lib/python3.10/site-packages/ratelimit/decorators.py in _wrapped(30)
  return fn(*args, **kw)

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

/home/nathan/rb/site/./lego/templatetags/sets/drawing.py in render_moc(78)
  return render_to_string('sets/render_set.html', {'set': set,

182 {% else %}
183 {# repeat alt label check here so dont have to recalculate discount #}
184 {% if set.is_moc and set.get_moc.is_alternate %}
185 <span class="label label-altbuild size-10" title="Alternate Build MOC{% if set.get_moc.parent_set_2 %}{% else %} - only uses parts from {{ set.get_moc.parent_set_1 }}{% endif %}"><i class="fa fa-fw fa-retweet text-white"></i> <span class="hidden-xs"> Alt</span></span>
186 {% endif %}
187 {% endif %}
188
189 {% if sub_text %}

/home/nathan/rb/site/lego/templates/sets/render_set.html

SELECT COUNT(*) AS "__count"
  FROM
"accounts_usertrophy"
 WHERE
"accounts_usertrophy"."user_id" = 573045
SELECT ••• FROM "accounts_usertrophy" WHERE "accounts_usertrophy"."user_id" = 573045
2 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/./accounts/views/profile.py in user_profile(358)
  return render(request, 'accounts/user_profile.html', context)

1 {% if profile_user.trophies.count > 0 %}
2 <div class="mb-30 border box-light">
3 <div class="box-inner">
4 <h4><i class="fa fa-trophy"></i> TROPHY CASE</h4>
5 {% for trophy in profile_user.trophies.all %}

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

Log messages

No messages logged.