Tests / apps/projects/tests.py
ProjectDeletePage::test_project_submit
First seen 2 years, 9 months ago in b9e98d9
CI
github-actions:test
5 runs
Average
70 ms
median 76 ms
max 82 ms
max 82 ms
Phases
Setup 0.69 ms
Call 69 ms
Teardown 0.73 ms
Categories
Database 44 ms
Other (Libraries, Templates, Unsampled, Serialization) 26 ms
49 database queries per run
Needs 0 KB of memory (max 0 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, an hour ago ·
open run
call74 ms97.4%
ProjectDeletePage.test_project_submitapps/projects/tests.py:207 response = self.client.post(self.project.url("project_delete"))33 ms43.8%
Client.postdjango/test/client.py:115333 ms43.8%
RequestFactory.postdjango/test/client.py:49933 ms43.8%
RequestFactory.genericdjango/test/client.py:67133 ms43.8%
Client.requestdjango/test/client.py:108233 ms43.8%
ClientHandler.__call__django/test/client.py:18619 ms24.4%
BaseHandler.get_responsedjango/core/handlers/base.py:14119 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms24.4%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13019 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms24.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms24.4%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12319 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms24.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms24.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms24.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms24.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms24.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms24.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms24.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3419 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms24.4%
BaseHandler._get_responsedjango/core/handlers/base.py:19819 ms24.4%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:5917 ms21.9%
project_deleteapps/projects/urls.py:657 project.delete()15 ms19.5%
Model.deletedjango/db/models/base.py:12979 ms12.2%
Collector.collectdjango/db/models/deletion.py:3479 ms12.2%
QuerySet.__bool__django/db/models/query.py:4049 ms12.2%
QuerySet._fetch_alldjango/db/models/query.py:20009 ms12.2%
ModelIterable.__iter__django/db/models/query.py:959 ms12.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16247 ms9.7%
CursorWrapper.executedjango/db/backends/utils.py:797 ms9.7%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:927 ms9.7%
CursorWrapper._executedjango/db/backends/utils.py:1057 ms9.7%
Cursor.executepsycopg/cursor.py:1137 ms9.7%
Connection.waitpsycopg/connection.py:4957 ms9.7%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16222 ms2.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.4%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3202 ms2.4%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2982 ms2.4%
BaseDatabaseWrapper._prepare_cursordjango/db/backends/base/base.py:2882 ms2.4%
BaseDatabaseWrapper.queries_loggeddjango/db/backends/base/base.py:1712 ms2.4%
LazyObject.__getattribute__django/utils/functional.py:2832 ms2.4%
Model.deletedjango/db/models/base.py:12986 ms7.3%
Collector.deletedjango/db/models/deletion.py:4714 ms4.9%
QuerySet._raw_deletedjango/db/models/query.py:12604 ms4.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16244 ms4.9%
CursorWrapper.executedjango/db/backends/utils.py:794 ms4.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms4.9%
CursorWrapper._executedjango/db/backends/utils.py:1054 ms4.9%
Cursor.executepsycopg/cursor.py:1134 ms4.9%
Connection.waitpsycopg/connection.py:4954 ms4.9%
Collector.deletedjango/db/models/deletion.py:5052 ms2.4%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:432 ms2.4%
DeleteQuery.do_querydjango/db/models/sql/subqueries.py:252 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
project_deleteapps/projects/urls.py:6542 ms2.4%
managed_projectapps/projects/urls.py:61 project = get_object_or_404(2 ms2.4%
get_object_or_404django/shortcuts.py:902 ms2.4%
QuerySet.getdjango/db/models/query.py:6352 ms2.4%
QuerySet.__len__django/db/models/query.py:3722 ms2.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.4%
ModelIterable.__iter__django/db/models/query.py:952 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms2.4%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms2.4%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms2.4%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:562 ms2.4%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:792 ms2.4%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms2.4%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms2.4%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms2.4%
get_userdjango/contrib/auth/middleware.py:202 ms2.4%
get_userdjango/contrib/auth/__init__.py:3182 ms2.4%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms2.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.4%
QuerySet.getdjango/db/models/query.py:6352 ms2.4%
QuerySet.__len__django/db/models/query.py:3722 ms2.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.4%
ModelIterable.__iter__django/db/models/query.py:952 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms2.4%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms2.4%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms2.4%
PostgresClientQuery.dumppsycopg/_queries.py:2992 ms2.4%
ClientHandler.__call__django/test/client.py:17315 ms19.5%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6215 ms19.5%
__init____init__:-115 ms19.5%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10415 ms19.5%
WhiteNoise.add_fileswhitenoise/base.py:10815 ms19.5%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12011 ms14.6%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1319 ms12.2%
WhiteNoise.get_static_filewhitenoise/base.py:2087 ms9.7%
StaticFile.__init__whitenoise/responders.py:734 ms4.9%
StaticFile.get_headerswhitenoise/responders.py:1762 ms2.4%
StaticFile.__init__whitenoise/responders.py:722 ms2.4%
StaticFile.get_file_statswhitenoise/responders.py:1612 ms2.4%
__init____init__:-12 ms2.4%
FileEntry.__init__whitenoise/responders.py:2632 ms2.4%
FileEntry.stat_regular_filewhitenoise/responders.py:2762 ms2.4%
<GC>~2 ms2.4%
WhiteNoise.get_static_filewhitenoise/base.py:2032 ms2.4%
WhiteNoise.add_cache_headerswhitenoise/base.py:2242 ms2.4%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1762 ms2.4%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1972 ms2.4%
URLMixin.urldebug_toolbar/panels/staticfiles.py:202 ms2.4%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1154 ms4.9%
scantreewhitenoise/base.py:2624 ms4.9%
scantreewhitenoise/base.py:2624 ms4.9%
scantreewhitenoise/base.py:2622 ms2.4%
scantreewhitenoise/base.py:2622 ms2.4%
scantreewhitenoise/base.py:2622 ms2.4%
scantreewhitenoise/base.py:2642 ms2.4%
scantreewhitenoise/base.py:2642 ms2.4%
ProjectDeletePage.test_project_submitapps/projects/tests.py:208 self.assertRedirects(response, reverse("org_projects", args=[self.project.organization.slug]))22 ms29.2%
SimpleTestCase.assertRedirectsdjango/test/testcases.py:50122 ms29.2%
Client.getdjango/test/client.py:112422 ms29.2%
RequestFactory.getdjango/test/client.py:47522 ms29.2%
RequestFactory.genericdjango/test/client.py:67122 ms29.2%
Client.requestdjango/test/client.py:108222 ms29.2%
ClientHandler.__call__django/test/client.py:18622 ms29.2%
BaseHandler.get_responsedjango/core/handlers/base.py:14122 ms29.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5522 ms29.2%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13022 ms29.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5522 ms29.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30922 ms29.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5522 ms29.2%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12322 ms29.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5522 ms29.2%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms24.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms24.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms24.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms24.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms24.4%
MiddlewareMixin.__call__django/utils/deprecation.py:30919 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms24.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3419 ms24.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5519 ms24.4%
BaseHandler._get_responsedjango/core/handlers/base.py:19819 ms24.4%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:5917 ms21.9%
org_projectsapps/orgs/views.py:97 return render(request, "org.html", {**org_shell(request, organization, "projects"), "cards": cards})7 ms9.7%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))2 ms2.4%
QuerySet.__iter__django/db/models/query.py:3902 ms2.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.4%
ModelIterable.__iter__django/db/models/query.py:952 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],2 ms2.4%
QuerySet.__iter__django/db/models/query.py:3902 ms2.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.4%
ModelIterable.__iter__django/db/models/query.py:952 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
org_shellapps/orgs/views.py:422 ms2.4%
Organization.is_ownerapps/orgs/models.py:65 return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()2 ms2.4%
QuerySet.existsdjango/db/models/query.py:13372 ms2.4%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.4%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
renderdjango/shortcuts.py:252 ms2.4%
render_to_stringdjango/template/loader.py:622 ms2.4%
Template.renderdjango/template/backends/django.py:1072 ms2.4%
Template.renderdjango/template/base.py:1742 ms2.4%
instrumented_test_renderdjango/test/utils.py:1142 ms2.4%
NodeList.renderdjango/template/base.py:10912 ms2.4%
Node.render_annotateddjango/template/base.py:10522 ms2.4%
ExtendsNode.renderdjango/template/loader_tags.py:1602 ms2.4%
instrumented_test_renderdjango/test/utils.py:1142 ms2.4%
NodeList.renderdjango/template/base.py:10912 ms2.4%
Node.render_annotateddjango/template/base.py:10522 ms2.4%
ExtendsNode.renderdjango/template/loader_tags.py:1602 ms2.4%
instrumented_test_renderdjango/test/utils.py:1142 ms2.4%
NodeList.renderdjango/template/base.py:10912 ms2.4%
Node.render_annotateddjango/template/base.py:10522 ms2.4%
BlockNode.renderdjango/template/loader_tags.py:662 ms2.4%
NodeList.renderdjango/template/base.py:10912 ms2.4%
Node.render_annotateddjango/template/base.py:10522 ms2.4%
IfNode.renderdjango/template/defaulttags.py:3332 ms2.4%
NodeList.renderdjango/template/base.py:10912 ms2.4%
Node.render_annotateddjango/template/base.py:10522 ms2.4%
SimpleNode.renderdjango/template/library.py:3252 ms2.4%
heroicon_miniheroicons/templatetags/heroicons.py:182 ms2.4%
_render_iconheroicons/templatetags/heroicons.py:392 ms2.4%
_render_iconheroicons/__init__.py:452 ms2.4%
deepcopy<stdlib>/copy.py:1382 ms2.4%
deepcopy<stdlib>/copy.py:1572 ms2.4%
_reconstruct<stdlib>/copy.py:2552 ms2.4%
deepcopy<stdlib>/copy.py:1622 ms2.4%
_keep_alive<stdlib>/copy.py:2382 ms2.4%
org_projectsapps/orgs/views.py:96 cards = [{"project": project, **analytics.project_card(project)} for project in projects]6 ms7.3%
QuerySet.__iter__django/db/models/query.py:3906 ms7.3%
QuerySet._fetch_alldjango/db/models/query.py:20006 ms7.3%
ModelIterable.__iter__django/db/models/query.py:956 ms7.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16244 ms4.9%
CursorWrapper.executedjango/db/backends/utils.py:794 ms4.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms4.9%
CursorWrapper._executedjango/db/backends/utils.py:1054 ms4.9%
Cursor.executepsycopg/cursor.py:1134 ms4.9%
Connection.waitpsycopg/connection.py:4954 ms4.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms2.4%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms2.4%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:872 ms2.4%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms2.4%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:3622 ms2.4%
Expression.__hash__django/db/models/expressions.py:5622 ms2.4%
cached_property.__get__django/utils/functional.py:472 ms2.4%
Expression.identitydjango/db/models/expressions.py:5522 ms2.4%
org_projectsapps/orgs/views.py:844 ms4.9%
member_organizationapps/orgs/views.py:59 organization = get_object_or_404(Organization, slug=org_slug)2 ms2.4%
get_object_or_404django/shortcuts.py:902 ms2.4%
QuerySet.getdjango/db/models/query.py:6352 ms2.4%
QuerySet.__len__django/db/models/query.py:3722 ms2.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.4%
ModelIterable.__iter__django/db/models/query.py:952 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
member_organizationapps/orgs/views.py:622 ms2.4%
Organization.is_memberapps/orgs/models.py:62 return user.is_authenticated and self.membership_set.filter(user=user).exists()2 ms2.4%
QuerySet.existsdjango/db/models/query.py:13372 ms2.4%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.4%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:562 ms2.4%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:792 ms2.4%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms2.4%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms2.4%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms2.4%
get_userdjango/contrib/auth/middleware.py:202 ms2.4%
get_userdjango/contrib/auth/__init__.py:3112 ms2.4%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms2.4%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms2.4%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms2.4%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms2.4%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms2.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.4%
QuerySet.getdjango/db/models/query.py:6252 ms2.4%
QuerySet.filterdjango/db/models/query.py:15422 ms2.4%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms2.4%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms2.4%
Query.add_qdjango/db/models/sql/query.py:16712 ms2.4%
Query._add_qdjango/db/models/sql/query.py:17032 ms2.4%
Query.build_filterdjango/db/models/sql/query.py:15772 ms2.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3114 ms4.9%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:594 ms4.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1264 ms4.9%
Atomic.__enter__django/db/transaction.py:2112 ms2.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.4%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms2.4%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
Atomic.__exit__django/db/transaction.py:2472 ms2.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.4%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms2.4%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
ProjectDeletePage.setUpapps/projects/tests.py:187 self.client.force_login(self.user)11 ms14.6%
ClientMixin.force_logindjango/test/client.py:85511 ms14.6%
ClientMixin._logindjango/test/client.py:8816 ms7.3%
logindjango/contrib/auth/__init__.py:1874 ms4.9%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms2.4%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms2.4%
SessionStore.savedjango/contrib/sessions/backends/db.py:1232 ms2.4%
SessionStore.create_model_instancedjango/contrib/sessions/backends/db.py:1022 ms2.4%
SessionBase.encodedjango/contrib/sessions/backends/base.py:1262 ms2.4%
dumpsdjango/core/signing.py:1512 ms2.4%
Signer.sign_objectdjango/core/signing.py:2392 ms2.4%
TimestampSigner.signdjango/core/signing.py:2612 ms2.4%
Signer.signdjango/core/signing.py:2052 ms2.4%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms2.4%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms2.4%
Model.deletedjango/db/models/base.py:12982 ms2.4%
Collector.deletedjango/db/models/deletion.py:4522 ms2.4%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:432 ms2.4%
DeleteQuery.do_querydjango/db/models/sql/subqueries.py:252 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
logindjango/contrib/auth/__init__.py:1752 ms2.4%
SessionBase.__contains__django/contrib/sessions/backends/base.py:522 ms2.4%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms2.4%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms2.4%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms2.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.4%
QuerySet.getdjango/db/models/query.py:6352 ms2.4%
QuerySet.__len__django/db/models/query.py:3722 ms2.4%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.4%
ModelIterable.__iter__django/db/models/query.py:952 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
ClientMixin._logindjango/test/client.py:8764 ms4.9%
ClientMixin.sessiondjango/test/client.py:8124 ms4.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1214 ms4.9%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms2.4%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1982 ms2.4%
SessionStore.existsdjango/contrib/sessions/backends/db.py:632 ms2.4%
QuerySet.existsdjango/db/models/query.py:13372 ms2.4%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.4%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16222 ms2.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.4%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3202 ms2.4%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2982 ms2.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.4%
DatabaseWrapper.create_cursordjango/db/backends/postgresql/base.py:4352 ms2.4%
AdaptersMap.get_loaderpsycopg/_adapters_map.py:2732 ms2.4%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms2.4%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms2.4%
Model.savedjango/db/models/base.py:8742 ms2.4%
Model.save_basedjango/db/models/base.py:9662 ms2.4%
Model._save_tabledjango/db/models/base.py:11672 ms2.4%
Model._do_insertdjango/db/models/base.py:12182 ms2.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.4%
QuerySet._insertdjango/db/models/query.py:19182 ms2.4%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
ClientMixin._logindjango/test/client.py:8832 ms2.4%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms2.4%
Atomic.__exit__django/db/transaction.py:2472 ms2.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.4%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms2.4%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms2.4%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms2.4%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms2.4%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()6 ms7.3%
TestCase._fixture_teardowndjango/test/testcases.py:14954 ms4.9%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4834 ms4.9%
CursorWrapper.executedjango/db/backends/utils.py:794 ms4.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:924 ms4.9%
CursorWrapper._executedjango/db/backends/utils.py:1034 ms4.9%
Cursor.executepsycopg/cursor.py:1134 ms4.9%
Connection.waitpsycopg/connection.py:4954 ms4.9%
TestCase._fixture_teardowndjango/test/testcases.py:14972 ms2.4%
TestCase._rollback_atomicsdjango/test/testcases.py:14052 ms2.4%
Atomic.__exit__django/db/transaction.py:2862 ms2.4%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.4%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms2.4%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
ProjectDeletePage.test_project_submitapps/projects/tests.py:209 self.assertEqual(Project.objects.filter(id=self.project.id).count(), 0)2 ms2.4%
QuerySet.countdjango/db/models/query.py:6102 ms2.4%
Query.get_countdjango/db/models/sql/query.py:6512 ms2.4%
Query.get_aggregationdjango/db/models/sql/query.py:6332 ms2.4%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.4%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.4%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.4%
Cursor.executepsycopg/cursor.py:1132 ms2.4%
Connection.waitpsycopg/connection.py:4952 ms2.4%
Estimated from 40 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/tests.py:207
response = self.client.post(self.project.url("project_delete"))
ProjectDeletePage.test_project_submit
· Libraries
|
17 ms |
|
apps/projects/urls.py:657
project.delete()
project_delete
· Database
|
15 ms |
|
apps/projects/tests.py:187
self.client.force_login(self.user)
ProjectDeletePage.setUp
· Database
|
11 ms |
|
apps/orgs/views.py:96
cards = [{"project": project, **analytics.project_card(project)} for project in projects]
org_projects
· Database
|
6 ms |
|
apps/projects/tests.py:208
self.assertRedirects(response, reverse("org_projects", args=[self.project.organization.slug]))
ProjectDeletePage.test_project_submit
· Database
|
6 ms |
|
apps/projects/urls.py:61
project = get_object_or_404(
managed_project
· Database
|
2 ms |
|
apps/orgs/views.py:59
organization = get_object_or_404(Organization, slug=org_slug)
member_organization
· Database
|
2 ms |
|
apps/orgs/models.py:62
return user.is_authenticated and self.membership_set.filter(user=user).exists()
Organization.is_member
· Database
|
2 ms |
|
apps/orgs/views.py:33
organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))
org_shell
· Database
|
2 ms |
|
apps/orgs/views.py:40
"org_projects": list(organization.project_set.order_by("name")) if member else [],
org_shell
· Database
|
2 ms |
Fixtures
Exact setup time| _template_string_if_invalid_marker function | 0.06 ms |
| _dj_autoclear_mailbox function | 0.05 ms |
| _django_clear_site_cache function | 0.04 ms |
| _django_db_marker function | 0.04 ms |
| _django_set_urlconf function | 0.03 ms |
| _live_server_helper function | 0.03 ms |
| monkeypatch function | 0.03 ms |
Database
49 queries · 21 ms
Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).
3×
SELECT "django_session"."session_key", "django_session"."session_data", "django_session"."expire_date" FROM "django_session" WHERE ("django_session"."expire_date" > %s AND "django_session"."session_key" = %s) LIMIT ?
Biggest pieces of work
|
call test body
apps/projects/tests.py:207
|
57 ms |
|
call setUp
apps/projects/tests.py:187
|
11 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
6 ms |
Reliability
5 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 50 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| an hour ago | CI github-actions:test | passed | 76 ms | Profile |
| an hour ago | CI github-actions:test | passed | 74 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 82 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 42 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 77 ms | Profile |
| 2 years ago | CI github-actions | passed | 106 ms | Run |
| 2 years, 2 months ago | CI github-actions | passed | 104 ms | Run |
| 2 years, 3 months ago | CI github-actions | passed | 110 ms | Run |
| 2 years, 4 months ago | CI github-actions | passed | 111 ms | Run |
| 2 years, 4 months ago | CI github-actions | passed | 111 ms | Run |
| 2 years, 4 months ago | CI github-actions | passed | 111 ms | Run |
| 2 years, 4 months ago | CI github-actions | passed | 103 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 105 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 101 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 105 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 103 ms | Run |
| 2 years, 5 months ago | CI github-actions | passed | 105 ms | Run |
| 2 years, 6 months ago | CI github-actions | passed | 104 ms | Run |
| 2 years, 6 months ago | CI github-actions | passed | 102 ms | Run |
| 2 years, 6 months ago | CI github-actions | passed | 129 ms | Run |