Tests / apps/projects/tests.py
ProjectCreatePage::test_next_project
First seen 3 weeks ago in 78a4357
CI
github-actions:test
12 runs
Average
66 ms
median 76 ms
max 84 ms
max 84 ms
Phases
Setup 0.71 ms
Call 66 ms
Teardown 0.17 ms
Categories
Database 38 ms
Other (Libraries, Templates, Unsampled, pytest, ...) 29 ms
53 database queries per run
Needs 298 KB of memory (max 680 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
call76 ms98.6%
ProjectCreatePage.test_next_projectapps/projects/tests.py:247 response = self.client.get(url)50 ms65.0%
Client.getdjango/test/client.py:112450 ms65.0%
RequestFactory.getdjango/test/client.py:47550 ms65.0%
RequestFactory.genericdjango/test/client.py:67150 ms65.0%
Client.requestdjango/test/client.py:108250 ms65.0%
ClientHandler.__call__django/test/client.py:17333 ms43.3%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6233 ms43.3%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10431 ms40.9%
WhiteNoise.add_fileswhitenoise/base.py:10831 ms40.9%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12022 ms28.9%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13120 ms26.5%
WhiteNoise.get_static_filewhitenoise/base.py:2089 ms12.0%
StaticFile.__init__whitenoise/responders.py:776 ms7.2%
StaticFile.get_alternativeswhitenoise/responders.py:2004 ms4.8%
__init____init__:-12 ms2.4%
StaticFile.get_alternativeswhitenoise/responders.py:2032 ms2.4%
Headers.__setitem__<stdlib>/wsgiref/headers.py:622 ms2.4%
Headers.__init__<stdlib>/wsgiref/headers.py:442 ms2.4%
StaticFile.__init__whitenoise/responders.py:762 ms2.4%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1882 ms2.4%
StaticFile.__init__whitenoise/responders.py:732 ms2.4%
StaticFile.get_headerswhitenoise/responders.py:1672 ms2.4%
WhiteNoise.get_static_filewhitenoise/base.py:2036 ms7.2%
WhiteNoise.add_cache_headerswhitenoise/base.py:2246 ms7.2%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1766 ms7.2%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1976 ms7.2%
URLMixin.urldebug_toolbar/panels/staticfiles.py:204 ms4.8%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2052 ms2.4%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1862 ms2.4%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2092 ms2.4%
WhiteNoise.get_static_filewhitenoise/base.py:2024 ms4.8%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1159 ms12.0%
scantreewhitenoise/base.py:2629 ms12.0%
scantreewhitenoise/base.py:2629 ms12.0%
scantreewhitenoise/base.py:2647 ms9.6%
<GC>~7 ms9.6%
scantreewhitenoise/base.py:2622 ms2.4%
scantreewhitenoise/base.py:2622 ms2.4%
scantreewhitenoise/base.py:2642 ms2.4%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:1112 ms2.4%
WhiteNoise.add_fileswhitenoise/base.py:1082 ms2.4%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1202 ms2.4%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1312 ms2.4%
WhiteNoise.get_static_filewhitenoise/base.py:2082 ms2.4%
StaticFile.__init__whitenoise/responders.py:732 ms2.4%
StaticFile.get_headerswhitenoise/responders.py:1672 ms2.4%
ClientHandler.__call__django/test/client.py:18617 ms21.7%
BaseHandler.get_responsedjango/core/handlers/base.py:14117 ms21.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5517 ms21.7%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13017 ms21.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5517 ms21.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30917 ms21.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5517 ms21.7%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12317 ms21.7%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5517 ms21.7%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms16.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms16.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms16.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms16.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms16.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms16.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms16.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms16.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms16.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms16.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30913 ms16.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms16.8%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3413 ms16.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5513 ms16.8%
BaseHandler._get_responsedjango/core/handlers/base.py:19813 ms16.8%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:5911 ms14.4%
project_createapps/orgs/views.py:1254 ms4.8%
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%
project_createapps/orgs/views.py:126 first = not Project.objects.filter(organization__membership__user=request.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%
project_createapps/orgs/views.py:1272 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:16402 ms2.4%
DatabaseErrorWrapper.__call__.<locals>.innerdjango/db/utils.py:1012 ms2.4%
project_createapps/orgs/views.py:1412 ms2.4%
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:1272 ms2.4%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15772 ms2.4%
SQLCompiler.get_convertersdjango/db/models/sql/compiler.py:15252 ms2.4%
project_createapps/orgs/views.py:137 return render(2 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:1372 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:16112 ms2.4%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7922 ms2.4%
SQLCompiler.get_from_clausedjango/db/models/sql/compiler.py:11592 ms2.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3114 ms4.8%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:594 ms4.8%
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:2322 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%
ProjectCreatePage.setUpapps/projects/tests.py:219 self.client.force_login(self.user)9 ms12.0%
ClientMixin.force_logindjango/test/client.py:8559 ms12.0%
ClientMixin._logindjango/test/client.py:8764 ms4.8%
ClientMixin.sessiondjango/test/client.py:8124 ms4.8%
SessionStore.savedjango/contrib/sessions/backends/db.py:1214 ms4.8%
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:16402 ms2.4%
DatabaseErrorWrapper.__call__.<locals>.innerdjango/db/utils.py:1002 ms2.4%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 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%
ClientMixin._logindjango/test/client.py:8814 ms4.8%
logindjango/contrib/auth/__init__.py:1872 ms2.4%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms2.4%
SessionStore.createdjango/contrib/sessions/backends/db.py:702 ms2.4%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1972 ms2.4%
get_random_stringdjango/utils/crypto.py:622 ms2.4%
get_random_string.<locals>.<genexpr>django/utils/crypto.py:622 ms2.4%
Random.choice<stdlib>/random.py:3542 ms2.4%
Random._randbelow_with_getrandbits<stdlib>/random.py:2512 ms2.4%
logindjango/contrib/auth/__init__.py:1962 ms2.4%
rotate_tokendjango/middleware/csrf.py:1222 ms2.4%
_add_new_csrf_cookiedjango/middleware/csrf.py:862 ms2.4%
_get_new_csrf_stringdjango/middleware/csrf.py:562 ms2.4%
get_random_stringdjango/utils/crypto.py:622 ms2.4%
get_random_string.<locals>.<genexpr>django/utils/crypto.py:622 ms2.4%
Random.choice<stdlib>/random.py:3542 ms2.4%
ClientMixin._logindjango/test/client.py:8832 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:11102 ms2.4%
Model._do_updatedjango/db/models/base.py:12112 ms2.4%
QuerySet._updatedjango/db/models/query.py:13272 ms2.4%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21402 ms2.4%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21112 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%
ProjectCreatePage.test_next_projectapps/projects/tests.py:250 self.client.post(url, {"name": "First"})9 ms12.0%
Client.postdjango/test/client.py:11539 ms12.0%
RequestFactory.postdjango/test/client.py:4999 ms12.0%
RequestFactory.genericdjango/test/client.py:6719 ms12.0%
Client.requestdjango/test/client.py:10829 ms12.0%
ClientHandler.__call__django/test/client.py:1869 ms12.0%
BaseHandler.get_responsedjango/core/handlers/base.py:1419 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.0%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1309 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.0%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1239 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.0%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.0%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:349 ms12.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms12.0%
BaseHandler._get_responsedjango/core/handlers/base.py:1989 ms12.0%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:596 ms7.2%
project_createapps/orgs/views.py:126 first = not Project.objects.filter(organization__membership__user=request.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%
project_createapps/orgs/views.py:1272 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%
project_createapps/orgs/views.py:1352 ms2.4%
create_projectapps/orgs/views.py:117 project.secrettokens_set.create(token=secrets.token_hex(32))2 ms2.4%
create_reverse_many_to_one_manager.<locals>.RelatedManager.createdjango/db/models/fields/related_descriptors.py:8332 ms2.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.4%
QuerySet.createdjango/db/models/query.py:6692 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%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:564 ms4.8%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:794 ms4.8%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2514 ms4.8%
SimpleLazyObject._setupdjango/utils/functional.py:4044 ms4.8%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:404 ms4.8%
get_userdjango/contrib/auth/middleware.py:204 ms4.8%
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: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%
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:1272 ms2.4%
ProjectCreatePage.test_next_projectapps/projects/tests.py:2456 ms7.2%
make_projectapps/projects/testing.py:61 organization = Organization.objects.create(2 ms2.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.4%
QuerySet.createdjango/db/models/query.py:6692 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%
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%
make_projectapps/projects/testing.py:67 slug=unique_slug(name, organization.project_set.all(), fallback="project", reserved=RESERVED_PROJECT_SLUGS),2 ms2.4%
unique_slugapps/orgs/models.py:46 while slug in reserved or taken.filter(slug=slug).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%
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%
make_projectapps/projects/testing.py:712 ms2.4%
add_memberapps/projects/testing.py:76 membership, _ = Membership.objects.get_or_create(2 ms2.4%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.4%
QuerySet.get_or_createdjango/db/models/query.py:9922 ms2.4%
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%
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()2 ms2.4%
TestCase._fixture_teardowndjango/test/testcases.py:14952 ms2.4%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4842 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%
Estimated from 41 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/projects/tests.py:247
response = self.client.get(url)
ProjectCreatePage.test_next_project
· Libraries
|
39 ms |
|
apps/projects/tests.py:219
self.client.force_login(self.user)
ProjectCreatePage.setUp
· Database
|
9 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/projects/tests.py:250
self.client.post(url, {"name": "First"})
ProjectCreatePage.test_next_project
· Database
|
4 ms |
|
apps/projects/testing.py:61
organization = Organization.objects.create(
make_project
· Database
|
2 ms |
|
apps/orgs/models.py:46
while slug in reserved or taken.filter(slug=slug).exists():
unique_slug
· Database
|
2 ms |
|
apps/projects/testing.py:76
membership, _ = Membership.objects.get_or_create(
add_member
· 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 |
Fixtures
Exact setup time| _template_string_if_invalid_marker function | 0.08 ms |
| _dj_autoclear_mailbox function | 0.06 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.03 ms |
| monkeypatch function | 0.03 ms |
Database
53 queries · 15 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:247
|
65 ms |
|
call setUp
apps/projects/tests.py:219
|
9 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
2 ms |
Reliability
12 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 12 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| 16 hours ago | CI github-actions:test | passed | 77 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 38 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 81 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 57 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 84 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 40 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 76 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 77 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 72 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 80 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 41 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 76 ms | Profile |