Thanks for the nice review! Very much appreciated :)
I’m in a slightly different situation now with a small baby and don’t have any spare time to build much anymore. But I think when I have time to return to designing I will try to make a set of bases for the Clipper and possibly also the new Baracuda. It’s a great idea to make them compatible so you can stage a battle between them!
Thank you for the building it and your feedback. You are absolutely right that it could use a few more angles, I will see how quickly I can do an update of the instructions. The red flags look great indeed! :)
Error - You are not logged in!
Sorry you must be logged in before you can do that.
Error - Pro Plan required
Sorry you need to upgrade to the Pro Plan before you can use this feature.
Are you sure?
Oops, something has gone wrong
Please see the Bugs Forum
for help with the issue below, or create a new topic for it if not found. Or you can try refreshing this page.
default
4.23 ms (21 queries
including 6 similar
and 6 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" = 'mikael.holber') LIMIT 21SELECT ••• 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" = 'mikael.holber') LIMIT 21
0.39
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./accounts/views/profile.py in user_comments(1303)
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 (766378)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 (766378)
2 similar queries.
Duplicated 2 times.
0.17
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./accounts/views/profile.py in user_comments(1303)
profile_user = get_object_or_404(ProxyUser, username=username)
SELECT COUNT(*) AS "__count" FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE (NOT "django_comments"."is_removed" AND "django_comments"."user_id" = 766378)SELECT ••• FROM "threadedcomments_comment" INNER JOIN "django_comments" ON ("threadedcomments_comment"."comment_ptr_id" = "django_comments"."id") WHERE (NOT "django_comments"."is_removed" AND "django_comments"."user_id" = 766378)
0.25
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./accounts/views/profile.py in user_comments(1307)
comments = paginator.get_page(request.GET.get('page', 1))/home/nathan/rb/site/./digg_paginator/utils.py in get_page(274)
return self.page(page)/home/nathan/rb/site/./digg_paginator/utils.py in page(199)
page = super(DiggPaginator, self).page(number, *args, **kwargs)/home/nathan/rb/site/./digg_paginator/utils.py in page(47)
return super(ExPaginator, self).page(number)
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 21SELECT ••• FROM "countries_plus_country" WHERE "countries_plus_country"."iso" = 'US' LIMIT 21
0.20
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./accounts/views/profile.py in user_comments(1310)
return render(request, 'accounts/user_comments.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>
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" = 766378 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 766378 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
2 similar queries.
Duplicated 2 times.
0.12
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./accounts/views/profile.py in user_comments(1310)
return render(request, 'accounts/user_comments.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]
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" = 766378) LIMIT 21SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 766378) LIMIT 21
2 similar queries.
Duplicated 2 times.
0.16
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./accounts/views/profile.py in user_comments(1310)
return render(request, 'accounts/user_comments.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)
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" = 766378) LIMIT 21SELECT ••• FROM "accounts_usersetting" WHERE ("accounts_usersetting"."name" = 'privacy' AND "accounts_usersetting"."user_id" = 766378) LIMIT 21
2 similar queries.
Duplicated 2 times.
0.15
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./accounts/views/profile.py in user_comments(1310)
return render(request, 'accounts/user_comments.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 %}
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" = 766378 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESC LIMIT 1SELECT ••• FROM "avatar_avatar" WHERE "avatar_avatar"."user_id" = 766378 ORDER BY "avatar_avatar"."primary" DESC, "avatar_avatar"."date_uploaded" DESCLIMIT 1
2 similar queries.
Duplicated 2 times.
0.11
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./accounts/views/profile.py in user_comments(1310)
return render(request, 'accounts/user_comments.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 %}
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" = 766378 LIMIT 21SELECT ••• FROM "lego_designer" INNER JOIN "auth_user" ON ("lego_designer"."user_ptr_id" = "auth_user"."id") WHERE "lego_designer"."user_ptr_id" = 766378 LIMIT 21
0.21
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./accounts/views/profile.py in user_comments(1310)
return render(request, 'accounts/user_comments.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():
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" = 766378) LIMIT 1SELECT ••• 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" = 766378) LIMIT 1
0.21
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./accounts/views/profile.py in user_comments(1310)
return render(request, 'accounts/user_comments.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():
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" = 766378)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" = 766378)
0.21
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./accounts/views/profile.py in user_comments(1310)
return render(request, 'accounts/user_comments.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 %}
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" = 766378) )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" = 766378))
0.30
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./accounts/views/profile.py in user_comments(1310)
return render(request, 'accounts/user_comments.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 %}
SELECT COUNT(*) AS "__count" FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 766378SELECT ••• FROM "lego_designerfollower" WHERE "lego_designerfollower"."designer_id" = 766378
0.13
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./accounts/views/profile.py in user_comments(1310)
return render(request, 'accounts/user_comments.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 %}
SELECT COUNT(*) AS "__count" FROM "accounts_userprofile" WHERE UPPER("accounts_userprofile"."location"::text) = UPPER('Berlin, Germany')SELECT ••• FROM "accounts_userprofile" WHERE UPPER("accounts_userprofile"."location"::text) = UPPER('Berlin, Germany')
0.19
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./accounts/views/profile.py in user_comments(1310)
return render(request, 'accounts/user_comments.html', context)/home/nathan/rb/site/./accounts/models/user_extras.py in get_num_users_at_location(594)
return UserProfile.objects.filter(location__iexact=self.profile.location).count()
SELECT COUNT(*) AS "__count" FROM "accounts_usertrophy" WHERE "accounts_usertrophy"."user_id" = 766378SELECT ••• FROM "accounts_usertrophy" WHERE "accounts_usertrophy"."user_id" = 766378
0.09
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./accounts/views/profile.py in user_comments(1310)
return render(request, 'accounts/user_comments.html', context)
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 (766378)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 (766378)
2 similar queries.
Duplicated 2 times.
0.11
Connection: default
Transaction status: Idle
/home/nathan/rb/site/./accounts/views/profile.py in user_comments(1310)
return render(request, 'accounts/user_comments.html', context)
I’m in a slightly different situation now with a small baby and don’t have any spare time to build much anymore. But I think when I have time to return to designing I will try to make a set of bases for the Clipper and possibly also the new Baracuda. It’s a great idea to make them compatible so you can stage a battle between them!