Tests / apps/projects/tests.py
ProjectCreatePage::test_next_project
First seen 8 hours ago in 78a4357
CI
github-actions:test
5 runs
Average
69 ms
median 76 ms
max 80 ms
max 80 ms
Phases
Setup 0.73 ms
Call 68 ms
Teardown 0.19 ms
Categories
Database 36 ms
Other (Libraries, Templates, Unsampled, pytest) 34 ms
53 database queries per run
Needs 58 KB of memory (max 152 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, an hour ago ·
open run
call76 ms98.6%
CallInfo.from_call_pytest/runner.py:35376 ms98.6%
call_and_report.<locals>.<lambda>_pytest/runner.py:24576 ms98.6%
HookCaller.__call__pluggy/_hooks.py:51276 ms98.6%
PluginManager._hookexecpluggy/_manager.py:12076 ms98.6%
_multicallpluggy/_callers.py:12176 ms98.6%
pytest_runtest_call_pytest/runner.py:17976 ms98.6%
_django_setup_unittest.<locals>.non_debugging_runtestpytest_django/plugin.py:57376 ms98.6%
SimpleTestCase.__call__django/test/testcases.py:31376 ms98.6%
SimpleTestCase._setup_and_calldjango/test/testcases.py:36872 ms93.9%
TestCase.__call__<stdlib>/unittest/case.py:74772 ms93.9%
TestCase.run<stdlib>/unittest/case.py:69167 ms86.9%
TestCase._callTestMethod<stdlib>/unittest/case.py:63767 ms86.9%
ProjectCreatePage.test_next_projectapps/projects/tests.py:246 response = self.client.get(url)45 ms58.7%
Client.getdjango/test/client.py:112445 ms58.7%
RequestFactory.getdjango/test/client.py:47545 ms58.7%
RequestFactory.genericdjango/test/client.py:67145 ms58.7%
Client.requestdjango/test/client.py:108245 ms58.7%
ClientHandler.__call__django/test/client.py:17327 ms35.2%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6227 ms35.2%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10424 ms30.5%
WhiteNoise.add_fileswhitenoise/base.py:10824 ms30.5%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12024 ms30.5%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13124 ms30.5%
WhiteNoise.get_static_filewhitenoise/base.py:20813 ms16.4%
StaticFile.__init__whitenoise/responders.py:779 ms11.7%
StaticFile.get_alternativeswhitenoise/responders.py:2015 ms7.0%
StaticFile.get_alternativeswhitenoise/responders.py:2002 ms2.3%
__init____init__:-12 ms2.3%
StaticFile.get_alternativeswhitenoise/responders.py:2032 ms2.3%
Headers.__setitem__<stdlib>/wsgiref/headers.py:602 ms2.3%
<GC>~2 ms2.3%
StaticFile.__init__whitenoise/responders.py:732 ms2.3%
StaticFile.get_headerswhitenoise/responders.py:1762 ms2.3%
formatdate<stdlib>/email/utils.py:2662 ms2.3%
StaticFile.__init__whitenoise/responders.py:742 ms2.3%
parsedate<stdlib>/email/_parseaddr.py:1852 ms2.3%
WhiteNoise.get_static_filewhitenoise/base.py:20311 ms14.1%
WhiteNoise.add_cache_headerswhitenoise/base.py:22411 ms14.1%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:17611 ms14.1%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:19711 ms14.1%
URLMixin.urldebug_toolbar/panels/staticfiles.py:219 ms11.7%
suppress.__exit__<stdlib>/contextlib.py:5129 ms11.7%
<GC>~9 ms11.7%
URLMixin.urldebug_toolbar/panels/staticfiles.py:202 ms2.3%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2052 ms2.3%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:934 ms4.7%
LazySettings.__getattr__django/conf/__init__.py:742 ms2.3%
WhiteNoise.add_fileswhitenoise/base.py:1082 ms2.3%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1152 ms2.3%
scantreewhitenoise/base.py:2642 ms2.3%
ClientHandler.__call__django/test/client.py:18618 ms23.5%
BaseHandler.get_responsedjango/core/handlers/base.py:14118 ms23.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5518 ms23.5%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13018 ms23.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5518 ms23.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30918 ms23.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5518 ms23.5%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12318 ms23.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5518 ms23.5%
MiddlewareMixin.__call__django/utils/deprecation.py:30914 ms18.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms18.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30914 ms18.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms18.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30914 ms18.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms18.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30914 ms18.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms18.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30914 ms18.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms18.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30914 ms18.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms18.8%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3414 ms18.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms18.8%
BaseHandler._get_responsedjango/core/handlers/base.py:19814 ms18.8%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:5911 ms14.1%
project_createapps/orgs/views.py:1254 ms4.7%
member_organizationapps/orgs/views.py:59 organization = get_object_or_404(Organization, slug=org_slug)2 ms2.3%
get_object_or_404django/shortcuts.py:902 ms2.3%
QuerySet.getdjango/db/models/query.py:6352 ms2.3%
QuerySet.__len__django/db/models/query.py:3722 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.3%
ModelIterable.__iter__django/db/models/query.py:952 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
member_organizationapps/orgs/views.py:622 ms2.3%
Organization.is_memberapps/orgs/models.py:62 return user.is_authenticated and self.membership_set.filter(user=user).exists()2 ms2.3%
QuerySet.existsdjango/db/models/query.py:13372 ms2.3%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
project_createapps/orgs/views.py:1414 ms4.7%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))2 ms2.3%
QuerySet.__iter__django/db/models/query.py:3902 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.3%
ModelIterable.__iter__django/db/models/query.py:952 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],2 ms2.3%
QuerySet.__iter__django/db/models/query.py:3902 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.3%
ModelIterable.__iter__django/db/models/query.py:952 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
project_createapps/orgs/views.py:126 first = not Project.objects.filter(organization__membership__user=request.user).exists()2 ms2.3%
QuerySet.existsdjango/db/models/query.py:13372 ms2.3%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
project_createapps/orgs/views.py:1272 ms2.3%
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.3%
QuerySet.existsdjango/db/models/query.py:13372 ms2.3%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:564 ms4.7%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:794 ms4.7%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2514 ms4.7%
SimpleLazyObject._setupdjango/utils/functional.py:4044 ms4.7%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:404 ms4.7%
get_userdjango/contrib/auth/middleware.py:204 ms4.7%
get_userdjango/contrib/auth/__init__.py:3112 ms2.3%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms2.3%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms2.3%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms2.3%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms2.3%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.3%
QuerySet.getdjango/db/models/query.py:6352 ms2.3%
QuerySet.__len__django/db/models/query.py:3722 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.3%
ModelIterable.__iter__django/db/models/query.py:952 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
get_userdjango/contrib/auth/__init__.py:3182 ms2.3%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.3%
QuerySet.getdjango/db/models/query.py:6352 ms2.3%
QuerySet.__len__django/db/models/query.py:3722 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.3%
ModelIterable.__iter__django/db/models/query.py:952 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms2.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms2.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms2.3%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms2.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms2.3%
Exact.as_sqldjango/db/models/lookups.py:4072 ms2.3%
BuiltinLookup.as_sqldjango/db/models/lookups.py:2392 ms2.3%
IntegerFieldOverflow.process_rhsdjango/db/models/lookups.py:4572 ms2.3%
MiddlewareMixin.__call__django/utils/deprecation.py:3114 ms4.7%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:544 ms4.7%
http_datedjango/utils/http.py:972 ms2.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms2.3%
Model.savedjango/db/models/base.py:8742 ms2.3%
Model.save_basedjango/db/models/base.py:9662 ms2.3%
Model._save_tabledjango/db/models/base.py:11102 ms2.3%
Model._do_updatedjango/db/models/base.py:12112 ms2.3%
QuerySet._updatedjango/db/models/query.py:13272 ms2.3%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms2.3%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
ProjectCreatePage.test_next_projectapps/projects/tests.py:249 self.client.post(url, {"name": "First"})14 ms18.8%
Client.postdjango/test/client.py:115314 ms18.8%
RequestFactory.postdjango/test/client.py:49914 ms18.8%
RequestFactory.genericdjango/test/client.py:67114 ms18.8%
Client.requestdjango/test/client.py:108214 ms18.8%
ClientHandler.__call__django/test/client.py:18614 ms18.8%
BaseHandler.get_responsedjango/core/handlers/base.py:14114 ms18.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms18.8%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13014 ms18.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms18.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30914 ms18.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms18.8%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12314 ms18.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms18.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30914 ms18.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms18.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30914 ms18.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms18.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30914 ms18.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms18.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30914 ms18.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms18.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30914 ms18.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms18.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30914 ms18.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms18.8%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3414 ms18.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5514 ms18.8%
BaseHandler._get_responsedjango/core/handlers/base.py:19814 ms18.8%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:5913 ms16.4%
project_createapps/orgs/views.py:1254 ms4.7%
member_organizationapps/orgs/views.py:59 organization = get_object_or_404(Organization, slug=org_slug)2 ms2.3%
get_object_or_404django/shortcuts.py:902 ms2.3%
QuerySet.getdjango/db/models/query.py:6352 ms2.3%
QuerySet.__len__django/db/models/query.py:3722 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.3%
ModelIterable.__iter__django/db/models/query.py:952 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
member_organizationapps/orgs/views.py:622 ms2.3%
Organization.is_memberapps/orgs/models.py:62 return user.is_authenticated and self.membership_set.filter(user=user).exists()2 ms2.3%
QuerySet.existsdjango/db/models/query.py:13372 ms2.3%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
project_createapps/orgs/views.py:1354 ms4.7%
create_projectapps/orgs/views.py:1144 ms4.7%
unique_slugapps/orgs/models.py:46 while slug in reserved or taken.filter(slug=slug).exists():4 ms4.7%
QuerySet.existsdjango/db/models/query.py:13374 ms4.7%
Query.has_resultsdjango/db/models/sql/query.py:6792 ms2.3%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
project_createapps/orgs/views.py:126 first = not Project.objects.filter(organization__membership__user=request.user).exists()2 ms2.3%
QuerySet.existsdjango/db/models/query.py:13372 ms2.3%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
project_createapps/orgs/views.py:1272 ms2.3%
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.3%
QuerySet.existsdjango/db/models/query.py:13372 ms2.3%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.3%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
project_createapps/orgs/views.py:1362 ms2.3%
Project.urlapps/projects/models.py:59 return reverse(name, args=[self.organization.slug, self.slug, *args])2 ms2.3%
reversedjango/urls/base.py:982 ms2.3%
URLResolver._reverse_with_prefixdjango/urls/resolvers.py:7622 ms2.3%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:562 ms2.3%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:792 ms2.3%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms2.3%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms2.3%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms2.3%
get_userdjango/contrib/auth/middleware.py:202 ms2.3%
get_userdjango/contrib/auth/__init__.py:3182 ms2.3%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.3%
QuerySet.getdjango/db/models/query.py:6352 ms2.3%
QuerySet.__len__django/db/models/query.py:3722 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.3%
ModelIterable.__iter__django/db/models/query.py:952 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms2.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms2.3%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:882 ms2.3%
WhereNode.split_having_qualifydjango/db/models/sql/where.py:472 ms2.3%
ProjectCreatePage.test_next_projectapps/projects/tests.py:2447 ms9.4%
make_projectapps/projects/testing.py:714 ms4.7%
add_memberapps/projects/testing.py:76 membership, _ = Membership.objects.get_or_create(4 ms4.7%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:874 ms4.7%
QuerySet.get_or_createdjango/db/models/query.py:9872 ms2.3%
QuerySet.getdjango/db/models/query.py:6352 ms2.3%
QuerySet.__len__django/db/models/query.py:3722 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.3%
ModelIterable.__iter__django/db/models/query.py:952 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms2.3%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7952 ms2.3%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms2.3%
QuerySet.get_or_createdjango/db/models/query.py:9942 ms2.3%
QuerySet.createdjango/db/models/query.py:6692 ms2.3%
Model.savedjango/db/models/base.py:8742 ms2.3%
Model.save_basedjango/db/models/base.py:9662 ms2.3%
Model._save_tabledjango/db/models/base.py:11672 ms2.3%
Model._do_insertdjango/db/models/base.py:12182 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.3%
QuerySet._insertdjango/db/models/query.py:19182 ms2.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
BaseCursor._execute_genpsycopg/_cursor_base.py:2052 ms2.3%
BaseCursor._convert_querypsycopg/_cursor_base.py:4652 ms2.3%
PostgresClientQuery.convertpsycopg/_queries.py:2892 ms2.3%
PostgresClientQuery.dumppsycopg/_queries.py:2992 ms2.3%
make_projectapps/projects/testing.py:61 organization = Organization.objects.create(2 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.3%
QuerySet.createdjango/db/models/query.py:6692 ms2.3%
Model.savedjango/db/models/base.py:8742 ms2.3%
Model.save_basedjango/db/models/base.py:9662 ms2.3%
Model._save_tabledjango/db/models/base.py:11672 ms2.3%
Model._do_insertdjango/db/models/base.py:12182 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.3%
QuerySet._insertdjango/db/models/query.py:19182 ms2.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
make_projectapps/projects/testing.py:64 project = Project.objects.create(2 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.3%
QuerySet.createdjango/db/models/query.py:6672 ms2.3%
TestCase.run<stdlib>/unittest/case.py:6875 ms7.0%
TestCase._callSetUp<stdlib>/unittest/case.py:6345 ms7.0%
ProjectCreatePage.setUpapps/projects/tests.py:218 self.client.force_login(self.user)5 ms7.0%
ClientMixin.force_logindjango/test/client.py:8555 ms7.0%
ClientMixin._logindjango/test/client.py:8814 ms4.7%
logindjango/contrib/auth/__init__.py:1874 ms4.7%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms2.3%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms2.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms2.3%
Model.savedjango/db/models/base.py:8742 ms2.3%
Model.save_basedjango/db/models/base.py:9662 ms2.3%
Model._save_tabledjango/db/models/base.py:11672 ms2.3%
Model._do_insertdjango/db/models/base.py:12182 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.3%
QuerySet._insertdjango/db/models/query.py:19182 ms2.3%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms2.3%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms2.3%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.3%
QuerySet.getdjango/db/models/query.py:6352 ms2.3%
QuerySet.__len__django/db/models/query.py:3722 ms2.3%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.3%
ModelIterable.__iter__django/db/models/query.py:952 ms2.3%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
ClientMixin._logindjango/test/client.py:8832 ms2.3%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms2.3%
Model.savedjango/db/models/base.py:8742 ms2.3%
Model.save_basedjango/db/models/base.py:9662 ms2.3%
Model._save_tabledjango/db/models/base.py:11102 ms2.3%
Model._do_updatedjango/db/models/base.py:11882 ms2.3%
SimpleTestCase._setup_and_calldjango/test/testcases.py:3714 ms4.7%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()4 ms4.7%
TestCase._fixture_teardowndjango/test/testcases.py:14942 ms2.3%
TestCase._should_check_constraintsdjango/test/testcases.py:15032 ms2.3%
DatabaseWrapper.is_usabledjango/db/backends/postgresql/base.py:4922 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
TestCase._fixture_teardowndjango/test/testcases.py:14972 ms2.3%
TestCase._rollback_atomicsdjango/test/testcases.py:14052 ms2.3%
Atomic.__exit__django/db/transaction.py:2832 ms2.3%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms2.3%
BaseDatabaseWrapper.savepoint_rollbackdjango/db/backends/base/base.py:4132 ms2.3%
BaseDatabaseWrapper._savepoint_rollbackdjango/db/backends/base/base.py:3712 ms2.3%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.3%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.3%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms2.3%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms2.3%
Cursor.executepsycopg/cursor.py:1132 ms2.3%
Connection.waitpsycopg/connection.py:4952 ms2.3%
teardown0.24 ms0.3%
Estimated from 43 samples; phase durations are exact. Frames from pytest and pluggy are
shown
.
Hot lines in your code
|
apps/projects/tests.py:246
response = self.client.get(url)
ProjectCreatePage.test_next_project
· Libraries
|
34 ms |
|
apps/projects/tests.py:218
self.client.force_login(self.user)
ProjectCreatePage.setUp
· Database
|
5 ms |
|
apps/projects/testing.py:76
membership, _ = Membership.objects.get_or_create(
add_member
· Database
|
4 ms |
|
apps/orgs/views.py:59
organization = get_object_or_404(Organization, slug=org_slug)
member_organization
· Database
|
4 ms |
|
apps/orgs/models.py:62
return user.is_authenticated and self.membership_set.filter(user=user).exists()
Organization.is_member
· Database
|
4 ms |
|
apps/orgs/views.py:126
first = not Project.objects.filter(organization__membership__user=request.user).exists()
project_create
· Database
|
4 ms |
|
apps/orgs/models.py:65
return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()
Organization.is_owner
· Database
|
4 ms |
|
apps/orgs/models.py:46
while slug in reserved or taken.filter(slug=slug).exists():
unique_slug
· Database
|
4 ms |
|
apps/projects/testing.py:61
organization = Organization.objects.create(
make_project
· Database
|
2 ms |
|
apps/projects/testing.py:64
project = Project.objects.create(
make_project
· Database
|
2 ms |
Fixtures
Exact setup time| _template_string_if_invalid_marker function | 0.06 ms |
| _dj_autoclear_mailbox function | 0.05 ms |
| _django_db_marker function | 0.05 ms |
| _django_set_urlconf function | 0.04 ms |
| _live_server_helper function | 0.04 ms |
| _django_clear_site_cache function | 0.04 ms |
| monkeypatch function | 0.02 ms |
Database
53 queries · 18 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 ?
3×
SELECT %s AS "a" FROM "projects_project" WHERE ("projects_project"."organization_id" = %s AND "projects_project"."slug" = %s) LIMIT ?
3×
SELECT %s AS "a" FROM "orgs_membership" WHERE ("orgs_membership"."organization_id" = %s AND "orgs_membership"."role" = %s AND "orgs_membership"."user_id" = %s) LIMIT ?
Biggest pieces of work
|
call test body
apps/projects/tests.py:246
|
67 ms |
|
call setUp
apps/projects/tests.py:218
|
5 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
4 ms |
| teardown pytest internals | 0.24 ms |
Reliability
5 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 5 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| an hour ago | CI github-actions:test | passed | 77 ms | Profile |
| an hour ago | CI github-actions:test | passed | 72 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 80 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 41 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 76 ms | Profile |