Tests / apps/orgs/tests.py
MembersTest::test_owners_revoke_invitations
First seen 3 weeks ago in 78a4357
CI
github-actions:test
12 runs
Average
61 ms
median 64 ms
max 95 ms
max 95 ms
Phases
Setup 0.70 ms
Call 61 ms
Teardown 0.18 ms
Categories
Database 37 ms
App code 0.15 ms
Other (Libraries, Templates, pytest, Unsampled) 24 ms
41 database queries per run
Needs 40 KB of memory (max 148 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 16 hours ago ·
open run
setup0.98 ms1.0%
iscoroutinefunction<stdlib>/inspect.py:336 return _has_code_flag(obj, CO_COROUTINE) or _has_coroutine_mark(obj)0.98 ms1.0%
_has_code_flag<stdlib>/inspect.py:3030.98 ms1.0%
call94 ms98.8%
MembersTest.test_owners_revoke_invitationsapps/orgs/tests.py:124 response = self.client.get(reverse("org_members", args=["acme"]))75 ms78.8%
Client.getdjango/test/client.py:112474 ms77.7%
RequestFactory.getdjango/test/client.py:47574 ms77.7%
RequestFactory.genericdjango/test/client.py:67174 ms77.7%
Client.requestdjango/test/client.py:108274 ms77.7%
ClientHandler.__call__django/test/client.py:17353 ms55.7%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6252 ms54.6%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10452 ms54.6%
WhiteNoise.add_fileswhitenoise/base.py:10852 ms54.6%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12042 ms44.1%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13142 ms44.1%
WhiteNoise.get_static_filewhitenoise/base.py:20830 ms31.5%
StaticFile.__init__whitenoise/responders.py:7314 ms14.7%
StaticFile.get_headerswhitenoise/responders.py:1785 ms5.3%
parsedate<stdlib>/email/_parseaddr.py:1855 ms5.3%
parsedate_tz<stdlib>/email/_parseaddr.py:504 ms4.2%
_parsedate_tz<stdlib>/email/_parseaddr.py:1012 ms2.1%
_parsedate_tz<stdlib>/email/_parseaddr.py:741.00 ms1.1%
_parsedate_tz<stdlib>/email/_parseaddr.py:971.00 ms1.1%
parsedate_tz<stdlib>/email/_parseaddr.py:531.00 ms1.1%
StaticFile.get_headerswhitenoise/responders.py:1763 ms3.2%
formatdate<stdlib>/email/utils.py:2661.00 ms1.1%
format_datetime<stdlib>/email/utils.py:2841.00 ms1.1%
_format_timetuple_and_zone<stdlib>/email/utils.py:2311.00 ms1.1%
Headers.__setitem__<stdlib>/wsgiref/headers.py:621.00 ms1.1%
Headers.__delitem__<stdlib>/wsgiref/headers.py:721.00 ms1.1%
StaticFile.get_headerswhitenoise/responders.py:1702 ms2.1%
Headers.__setitem__<stdlib>/wsgiref/headers.py:642 ms2.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:502 ms2.1%
StaticFile.get_headerswhitenoise/responders.py:1812 ms2.1%
StaticFile.get_headerswhitenoise/responders.py:1672 ms2.1%
__init____init__:-12 ms2.1%
Headers.__init__<stdlib>/wsgiref/headers.py:431.00 ms1.1%
Headers.__init__<stdlib>/wsgiref/headers.py:441.00 ms1.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501.00 ms1.1%
StaticFile.__init__whitenoise/responders.py:767 ms7.4%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1885 ms5.3%
Headers.__contains__<stdlib>/wsgiref/headers.py:874 ms4.2%
Headers.get<stdlib>/wsgiref/headers.py:1063 ms3.2%
Headers.get<stdlib>/wsgiref/headers.py:1041.00 ms1.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501.00 ms1.1%
Headers.__contains__<stdlib>/wsgiref/headers.py:851.00 ms1.1%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1871.00 ms1.1%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1901.00 ms1.1%
StaticFile.__init__whitenoise/responders.py:775 ms5.3%
StaticFile.get_alternativeswhitenoise/responders.py:2004 ms4.2%
__init____init__:-14 ms4.2%
Headers.__init__<stdlib>/wsgiref/headers.py:442 ms2.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:502 ms2.1%
Headers.__init__<stdlib>/wsgiref/headers.py:421.00 ms1.1%
Headers.__init__<stdlib>/wsgiref/headers.py:431.00 ms1.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501.00 ms1.1%
StaticFile.get_alternativeswhitenoise/responders.py:2061.00 ms1.1%
compile<stdlib>/re/__init__.py:2911.00 ms1.1%
_compile<stdlib>/re/__init__.py:3341.00 ms1.1%
StaticFile.__init__whitenoise/responders.py:742 ms2.1%
parsedate<stdlib>/email/_parseaddr.py:1852 ms2.1%
parsedate_tz<stdlib>/email/_parseaddr.py:501.00 ms1.1%
StaticFile.__init__whitenoise/responders.py:721.00 ms1.1%
StaticFile.get_file_statswhitenoise/responders.py:1611.00 ms1.1%
__init____init__:-11.00 ms1.1%
FileEntry.__init__whitenoise/responders.py:2631.00 ms1.1%
FileEntry.stat_regular_filewhitenoise/responders.py:2741.00 ms1.1%
WhiteNoise.get_static_filewhitenoise/base.py:20311 ms11.6%
WhiteNoise.add_cache_headerswhitenoise/base.py:2248 ms8.4%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1767 ms7.4%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1977 ms7.4%
URLMixin.urldebug_toolbar/panels/staticfiles.py:205 ms5.3%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2055 ms5.3%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1863 ms3.2%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2122 ms2.1%
urljoin<stdlib>/urllib/parse.py:7091.00 ms1.1%
_urlsplit<stdlib>/urllib/parse.py:6201.00 ms1.1%
urljoin<stdlib>/urllib/parse.py:7431.00 ms1.1%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2091.00 ms1.1%
filepath_to_uridjango/utils/encoding.py:2451.00 ms1.1%
quote<stdlib>/urllib/parse.py:10651.00 ms1.1%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1841.00 ms1.1%
ManifestFilesMixin.stored_namedjango/contrib/staticfiles/storage.py:5211.00 ms1.1%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1781.00 ms1.1%
urlsplit<stdlib>/urllib/parse.py:5841.00 ms1.1%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2531.00 ms1.1%
LazyObject.__getattribute__django/utils/functional.py:2801.00 ms1.1%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1731.00 ms1.1%
WhiteNoiseMiddleware.get_name_without_hashwhitenoise/middleware.py:1911.00 ms1.1%
splitext<frozen posixpath>:1261.00 ms1.1%
_splitext<frozen genericpath>:1741.00 ms1.1%
WhiteNoise.add_cache_headerswhitenoise/base.py:2252 ms2.1%
Headers.__setitem__<stdlib>/wsgiref/headers.py:641.00 ms1.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501.00 ms1.1%
WhiteNoise.add_cache_headerswhitenoise/base.py:2271.00 ms1.1%
WhiteNoise.get_static_filewhitenoise/base.py:2051.00 ms1.1%
Headers.__setitem__<stdlib>/wsgiref/headers.py:641.00 ms1.1%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1159 ms9.5%
scantreewhitenoise/base.py:2629 ms9.5%
scantreewhitenoise/base.py:2629 ms9.5%
scantreewhitenoise/base.py:2628 ms8.4%
scantreewhitenoise/base.py:2566 ms6.3%
<GC>~6 ms6.3%
scantreewhitenoise/base.py:2622 ms2.1%
scantreewhitenoise/base.py:2622 ms2.1%
scantreewhitenoise/base.py:2601.00 ms1.1%
scantreewhitenoise/base.py:2611.00 ms1.1%
scantreewhitenoise/base.py:2641.00 ms1.1%
BaseHandler.load_middlewaredjango/core/handlers/base.py:961.00 ms1.1%
convert_exception_to_responsedjango/core/handlers/exception.py:371.00 ms1.1%
iscoroutinefunction<stdlib>/inspect.py:336 return _has_code_flag(obj, CO_COROUTINE) or _has_coroutine_mark(obj)1.00 ms1.1%
_has_code_flag<stdlib>/inspect.py:2991.00 ms1.1%
_signature_is_functionlike<stdlib>/inspect.py:20941.00 ms1.1%
isclass<stdlib>/inspect.py:1841.00 ms1.1%
ClientHandler.__call__django/test/client.py:18621 ms22.1%
BaseHandler.get_responsedjango/core/handlers/base.py:14121 ms22.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms22.1%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13021 ms22.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms22.1%
MiddlewareMixin.__call__django/utils/deprecation.py:30921 ms22.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms22.1%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12321 ms22.1%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5521 ms22.1%
MiddlewareMixin.__call__django/utils/deprecation.py:30920 ms21.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5520 ms21.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30920 ms21.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5520 ms21.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30920 ms21.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5520 ms21.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30920 ms21.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5520 ms21.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30920 ms21.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5520 ms21.0%
MiddlewareMixin.__call__django/utils/deprecation.py:30920 ms21.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5520 ms21.0%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3420 ms21.0%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5520 ms21.0%
BaseHandler._get_responsedjango/core/handlers/base.py:19820 ms21.0%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:5917 ms17.9%
org_membersapps/orgs/views.py:190 return render(7 ms7.4%
renderdjango/shortcuts.py:256 ms6.3%
render_to_stringdjango/template/loader.py:626 ms6.3%
Template.renderdjango/template/backends/django.py:1076 ms6.3%
Template.renderdjango/template/base.py:1746 ms6.3%
instrumented_test_renderdjango/test/utils.py:1146 ms6.3%
NodeList.renderdjango/template/base.py:10916 ms6.3%
Node.render_annotateddjango/template/base.py:10526 ms6.3%
ExtendsNode.renderdjango/template/loader_tags.py:1606 ms6.3%
instrumented_test_renderdjango/test/utils.py:1146 ms6.3%
NodeList.renderdjango/template/base.py:10916 ms6.3%
Node.render_annotateddjango/template/base.py:10526 ms6.3%
ExtendsNode.renderdjango/template/loader_tags.py:1606 ms6.3%
instrumented_test_renderdjango/test/utils.py:1146 ms6.3%
NodeList.renderdjango/template/base.py:10916 ms6.3%
Node.render_annotateddjango/template/base.py:10526 ms6.3%
BlockNode.renderdjango/template/loader_tags.py:666 ms6.3%
NodeList.renderdjango/template/base.py:10916 ms6.3%
Node.render_annotateddjango/template/base.py:10526 ms6.3%
BlockNode.renderdjango/template/loader_tags.py:664 ms4.2%
NodeList.renderdjango/template/base.py:10914 ms4.2%
Node.render_annotateddjango/template/base.py:10524 ms4.2%
VariableNode.renderdjango/template/base.py:11502 ms2.1%
FilterExpression.resolvedjango/template/base.py:8152 ms2.1%
lengthdjango/template/defaultfilters.py:6372 ms2.1%
QuerySet.__len__django/db/models/query.py:3722 ms2.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.1%
ModelIterable.__iter__django/db/models/query.py:952 ms2.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111.00 ms1.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7671.00 ms1.1%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:861.00 ms1.1%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:751.00 ms1.1%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3171.00 ms1.1%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5741.00 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241.00 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791.00 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921.00 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051.00 ms1.1%
Cursor.executepsycopg/cursor.py:1131.00 ms1.1%
Connection.waitpsycopg/connection.py:4951.00 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061.00 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861.00 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781.00 ms1.1%
ForNode.renderdjango/template/defaulttags.py:2491.00 ms1.1%
Node.render_annotateddjango/template/base.py:10521.00 ms1.1%
IfNode.renderdjango/template/defaulttags.py:3331.00 ms1.1%
NodeList.renderdjango/template/base.py:10911.00 ms1.1%
Node.render_annotateddjango/template/base.py:10521.00 ms1.1%
ForNode.renderdjango/template/defaulttags.py:1921.00 ms1.1%
BaseContext.__contains__django/template/context.py:981.00 ms1.1%
IfNode.renderdjango/template/defaulttags.py:3331.00 ms1.1%
NodeList.renderdjango/template/base.py:10911.00 ms1.1%
Node.render_annotateddjango/template/base.py:10521.00 ms1.1%
IfNode.renderdjango/template/defaulttags.py:3331.00 ms1.1%
NodeList.renderdjango/template/base.py:10911.00 ms1.1%
Node.render_annotateddjango/template/base.py:10521.00 ms1.1%
ForNode.renderdjango/template/defaulttags.py:2491.00 ms1.1%
Node.render_annotateddjango/template/base.py:10521.00 ms1.1%
CsrfTokenNode.renderdjango/template/defaulttags.py:821.00 ms1.1%
format_htmldjango/utils/html.py:1401.00 ms1.1%
IfNode.renderdjango/template/defaulttags.py:3332 ms2.1%
NodeList.renderdjango/template/base.py:10912 ms2.1%
Node.render_annotateddjango/template/base.py:10522 ms2.1%
SimpleNode.renderdjango/template/library.py:3251.00 ms1.1%
heroicon_miniheroicons/templatetags/heroicons.py:181.00 ms1.1%
_render_iconheroicons/templatetags/heroicons.py:391.00 ms1.1%
_render_iconheroicons/__init__.py:531.00 ms1.1%
CsrfTokenNode.renderdjango/template/defaulttags.py:781.00 ms1.1%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2511.00 ms1.1%
SimpleLazyObject._setupdjango/utils/functional.py:4041.00 ms1.1%
csrf.<locals>._get_valdjango/template/context_processors.py:251.00 ms1.1%
get_tokendjango/middleware/csrf.py:1141.00 ms1.1%
_mask_cipher_secretdjango/middleware/csrf.py:641.00 ms1.1%
_get_new_csrf_stringdjango/middleware/csrf.py:561.00 ms1.1%
get_random_stringdjango/utils/crypto.py:621.00 ms1.1%
get_random_string.<locals>.<genexpr>django/utils/crypto.py:621.00 ms1.1%
Random.choice<stdlib>/random.py:3541.00 ms1.1%
Random._randbelow_with_getrandbits<stdlib>/random.py:2491.00 ms1.1%
SystemRandom.getrandbits<stdlib>/random.py:9151.00 ms1.1%
renderdjango/shortcuts.py:261.00 ms1.1%
org_membersapps/orgs/views.py:1944 ms4.2%
org_shellapps/orgs/views.py:422 ms2.1%
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.1%
QuerySet.existsdjango/db/models/query.py:13372 ms2.1%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.1%
Cursor.executepsycopg/cursor.py:1132 ms2.1%
Connection.waitpsycopg/connection.py:4952 ms2.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms2.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms2.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms2.1%
org_shellapps/orgs/views.py:33 organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))1.00 ms1.1%
QuerySet.__iter__django/db/models/query.py:3901.00 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001.00 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951.00 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241.00 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791.00 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921.00 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051.00 ms1.1%
Cursor.executepsycopg/cursor.py:1131.00 ms1.1%
Connection.waitpsycopg/connection.py:4951.00 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061.00 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861.00 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781.00 ms1.1%
org_shellapps/orgs/views.py:40 "org_projects": list(organization.project_set.order_by("name")) if member else [],1.00 ms1.1%
QuerySet.__iter__django/db/models/query.py:3901.00 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001.00 ms1.1%
ModelIterable.__iter__django/db/models/query.py:921.00 ms1.1%
Query.get_compilerdjango/db/models/sql/query.py:3691.00 ms1.1%
BaseConnectionHandler.__getitem__django/utils/connection.py:581.00 ms1.1%
Local.__getattr__asgiref/local.py:1201.00 ms1.1%
org_membersapps/orgs/views.py:1702 ms2.1%
member_organizationapps/orgs/views.py:622 ms2.1%
Organization.is_memberapps/orgs/models.py:62 return user.is_authenticated and self.membership_set.filter(user=user).exists()2 ms2.1%
QuerySet.existsdjango/db/models/query.py:13372 ms2.1%
Query.has_resultsdjango/db/models/sql/query.py:6812 ms2.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15922 ms2.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms2.1%
CursorWrapper.executedjango/db/backends/utils.py:792 ms2.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms2.1%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms2.1%
Cursor.executepsycopg/cursor.py:1132 ms2.1%
Connection.waitpsycopg/connection.py:4952 ms2.1%
org_membersapps/orgs/views.py:1711.00 ms1.1%
Organization.is_ownerapps/orgs/models.py:65 return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()1.00 ms1.1%
QuerySet.existsdjango/db/models/query.py:13371.00 ms1.1%
Query.has_resultsdjango/db/models/sql/query.py:6811.00 ms1.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921.00 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16221.00 ms1.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261.00 ms1.1%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3201.00 ms1.1%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2981.00 ms1.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261.00 ms1.1%
DatabaseWrapper.create_cursordjango/db/backends/postgresql/base.py:4301.00 ms1.1%
Connection.cursorpsycopg/connection.py:2591.00 ms1.1%
Cursor.__init__psycopg/cursor.py:471.00 ms1.1%
BaseCursor.__init__psycopg/_cursor_base.py:651.00 ms1.1%
__init____init__:-11.00 ms1.1%
AdaptersMap.__init__psycopg/_adapters_map.py:911.00 ms1.1%
__init____init__:-11.00 ms1.1%
TypesRegistry.__init__psycopg/_typeinfo.py:2301.00 ms1.1%
org_membersapps/orgs/views.py:188 memberships = organization.membership_set.select_related("user").order_by("role", "user__email")1.00 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871.00 ms1.1%
QuerySet.select_relateddjango/db/models/query.py:16531.00 ms1.1%
QuerySet._not_support_combined_queriesdjango/db/models/query.py:20741.00 ms1.1%
QuerySet.querydjango/db/models/query.py:3061.00 ms1.1%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15701.00 ms1.1%
Query.add_qdjango/db/models/sql/query.py:16711.00 ms1.1%
Query._add_qdjango/db/models/sql/query.py:17141.00 ms1.1%
JoinPromoter.add_votesdjango/db/models/sql/query.py:27861.00 ms1.1%
Counter.update<stdlib>/collections/__init__.py:6981.00 ms1.1%
ABCMeta.__instancecheck__<frozen abc>:1191.00 ms1.1%
org_membersapps/orgs/views.py:196 "invitations": [invitation for invitation in invitations if not invitation.expired],1.00 ms1.1%
QuerySet.__iter__django/db/models/query.py:3901.00 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001.00 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951.00 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16621.00 ms1.1%
org_membersapps/orgs/views.py:199 "owners": organization.membership_set.filter(role=Membership.Role.OWNER).count(),1.00 ms1.1%
QuerySet.countdjango/db/models/query.py:6101.00 ms1.1%
Query.get_countdjango/db/models/sql/query.py:6511.00 ms1.1%
Query.get_aggregationdjango/db/models/sql/query.py:6331.00 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241.00 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791.00 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921.00 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051.00 ms1.1%
Cursor.executepsycopg/cursor.py:1131.00 ms1.1%
Connection.waitpsycopg/connection.py:4951.00 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061.00 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861.00 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781.00 ms1.1%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:563 ms3.2%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:793 ms3.2%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2513 ms3.2%
SimpleLazyObject._setupdjango/utils/functional.py:4043 ms3.2%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:403 ms3.2%
get_userdjango/contrib/auth/middleware.py:203 ms3.2%
get_userdjango/contrib/auth/__init__.py:3112 ms2.1%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms2.1%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms2.1%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms2.1%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms2.1%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms2.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.1%
QuerySet.getdjango/db/models/query.py:6352 ms2.1%
QuerySet.__len__django/db/models/query.py:3722 ms2.1%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms2.1%
ModelIterable.__iter__django/db/models/query.py:951.00 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111.00 ms1.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7951.00 ms1.1%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781.00 ms1.1%
WhereNode.as_sqldjango/db/models/sql/where.py:1301.00 ms1.1%
ModelIterable.__iter__django/db/models/query.py:1271.00 ms1.1%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15771.00 ms1.1%
SQLCompiler.get_convertersdjango/db/models/sql/compiler.py:15261.00 ms1.1%
Col.get_db_convertersdjango/db/models/expressions.py:13381.00 ms1.1%
get_userdjango/contrib/auth/__init__.py:3181.00 ms1.1%
ModelBackend.get_userdjango/contrib/auth/backends.py:2321.00 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871.00 ms1.1%
QuerySet.getdjango/db/models/query.py:6351.00 ms1.1%
QuerySet.__len__django/db/models/query.py:3721.00 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001.00 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951.00 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241.00 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791.00 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921.00 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051.00 ms1.1%
Cursor.executepsycopg/cursor.py:1131.00 ms1.1%
Connection.waitpsycopg/connection.py:4951.00 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061.00 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861.00 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781.00 ms1.1%
MiddlewareMixin.__call__django/utils/deprecation.py:3111.00 ms1.1%
SessionMiddleware.process_responsedjango/contrib/sessions/middleware.py:591.00 ms1.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1271.00 ms1.1%
Model.savedjango/db/models/base.py:8741.00 ms1.1%
Model.save_basedjango/db/models/base.py:9661.00 ms1.1%
Model._save_tabledjango/db/models/base.py:11101.00 ms1.1%
Model._do_updatedjango/db/models/base.py:12111.00 ms1.1%
QuerySet._updatedjango/db/models/query.py:13271.00 ms1.1%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21401.00 ms1.1%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111.00 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241.00 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791.00 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921.00 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051.00 ms1.1%
Cursor.executepsycopg/cursor.py:1131.00 ms1.1%
Connection.waitpsycopg/connection.py:4951.00 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2051.00 ms1.1%
BaseCursor._convert_querypsycopg/_cursor_base.py:4651.00 ms1.1%
PostgresClientQuery.convertpsycopg/_queries.py:2891.00 ms1.1%
PostgresClientQuery.dumppsycopg/_queries.py:2991.00 ms1.1%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3001.00 ms1.1%
reversedjango/urls/base.py:981.00 ms1.1%
URLResolver._reverse_with_prefixdjango/urls/resolvers.py:7621.00 ms1.1%
MultiValueDict.getlistdjango/utils/datastructures.py:1541.00 ms1.1%
MultiValueDict._getlistdjango/utils/datastructures.py:1461.00 ms1.1%
MembersTest.test_owners_revoke_invitationsapps/orgs/tests.py:123 self.client.force_login(self.owner)8 ms8.4%
ClientMixin.force_logindjango/test/client.py:8558 ms8.4%
ClientMixin._logindjango/test/client.py:8815 ms5.3%
logindjango/contrib/auth/__init__.py:1873 ms3.2%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms2.1%
SessionStore.createdjango/contrib/sessions/backends/db.py:701.00 ms1.1%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1981.00 ms1.1%
SessionStore.existsdjango/contrib/sessions/backends/db.py:631.00 ms1.1%
QuerySet.existsdjango/db/models/query.py:13371.00 ms1.1%
Query.has_resultsdjango/db/models/sql/query.py:6811.00 ms1.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921.00 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16221.00 ms1.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261.00 ms1.1%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3201.00 ms1.1%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2981.00 ms1.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261.00 ms1.1%
DatabaseWrapper.create_cursordjango/db/backends/postgresql/base.py:4301.00 ms1.1%
Connection.cursorpsycopg/connection.py:2591.00 ms1.1%
Cursor.__init__psycopg/cursor.py:471.00 ms1.1%
BaseCursor.__init__psycopg/_cursor_base.py:651.00 ms1.1%
SessionStore.createdjango/contrib/sessions/backends/db.py:741.00 ms1.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1271.00 ms1.1%
Model.savedjango/db/models/base.py:8741.00 ms1.1%
Model.save_basedjango/db/models/base.py:9661.00 ms1.1%
Model._save_tabledjango/db/models/base.py:11671.00 ms1.1%
Model._do_insertdjango/db/models/base.py:12181.00 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871.00 ms1.1%
QuerySet._insertdjango/db/models/query.py:19181.00 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251.00 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791.00 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921.00 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051.00 ms1.1%
Cursor.executepsycopg/cursor.py:1131.00 ms1.1%
Connection.waitpsycopg/connection.py:4951.00 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061.00 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861.00 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781.00 ms1.1%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4371.00 ms1.1%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1751.00 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871.00 ms1.1%
QuerySet.getdjango/db/models/query.py:6351.00 ms1.1%
QuerySet.__len__django/db/models/query.py:3721.00 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001.00 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951.00 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241.00 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791.00 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921.00 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051.00 ms1.1%
Cursor.executepsycopg/cursor.py:1131.00 ms1.1%
Connection.waitpsycopg/connection.py:4951.00 ms1.1%
logindjango/contrib/auth/__init__.py:1751.00 ms1.1%
SessionBase.__contains__django/contrib/sessions/backends/base.py:521.00 ms1.1%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2511.00 ms1.1%
SessionStore.loaddjango/contrib/sessions/backends/db.py:551.00 ms1.1%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:341.00 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871.00 ms1.1%
QuerySet.getdjango/db/models/query.py:6351.00 ms1.1%
QuerySet.__len__django/db/models/query.py:3721.00 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001.00 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951.00 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241.00 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791.00 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921.00 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051.00 ms1.1%
Cursor.executepsycopg/cursor.py:1131.00 ms1.1%
Connection.waitpsycopg/connection.py:4951.00 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2041.00 ms1.1%
logindjango/contrib/auth/__init__.py:1971.00 ms1.1%
Signal.senddjango/dispatch/dispatcher.py:2091.00 ms1.1%
update_last_logindjango/contrib/auth/models.py:241.00 ms1.1%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:621.00 ms1.1%
Model.savedjango/db/models/base.py:8741.00 ms1.1%
Model.save_basedjango/db/models/base.py:9661.00 ms1.1%
Model._save_tabledjango/db/models/base.py:11101.00 ms1.1%
Model._do_updatedjango/db/models/base.py:12111.00 ms1.1%
QuerySet._updatedjango/db/models/query.py:13271.00 ms1.1%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21401.00 ms1.1%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111.00 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241.00 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791.00 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921.00 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051.00 ms1.1%
Cursor.executepsycopg/cursor.py:1131.00 ms1.1%
Connection.waitpsycopg/connection.py:4951.00 ms1.1%
ClientMixin._logindjango/test/client.py:8762 ms2.1%
ClientMixin.sessiondjango/test/client.py:8122 ms2.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1212 ms2.1%
SessionStore.createdjango/contrib/sessions/backends/db.py:701.00 ms1.1%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1981.00 ms1.1%
SessionStore.existsdjango/contrib/sessions/backends/db.py:631.00 ms1.1%
QuerySet.existsdjango/db/models/query.py:13371.00 ms1.1%
Query.has_resultsdjango/db/models/sql/query.py:6811.00 ms1.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921.00 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111.00 ms1.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:9381.00 ms1.1%
SessionStore.createdjango/contrib/sessions/backends/db.py:741.00 ms1.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1271.00 ms1.1%
Model.savedjango/db/models/base.py:8741.00 ms1.1%
Model.save_basedjango/db/models/base.py:9661.00 ms1.1%
Model._save_tabledjango/db/models/base.py:11671.00 ms1.1%
Model._do_insertdjango/db/models/base.py:12181.00 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871.00 ms1.1%
QuerySet._insertdjango/db/models/query.py:19181.00 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251.00 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791.00 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921.00 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051.00 ms1.1%
Cursor.executepsycopg/cursor.py:1131.00 ms1.1%
Connection.waitpsycopg/connection.py:4951.00 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2051.00 ms1.1%
BaseCursor._convert_querypsycopg/_cursor_base.py:4651.00 ms1.1%
PostgresClientQuery.convertpsycopg/_queries.py:2891.00 ms1.1%
PostgresClientQuery.dumppsycopg/_queries.py:2991.00 ms1.1%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3001.00 ms1.1%
ClientMixin._logindjango/test/client.py:8831.00 ms1.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1271.00 ms1.1%
Model.savedjango/db/models/base.py:8741.00 ms1.1%
Model.save_basedjango/db/models/base.py:9661.00 ms1.1%
Model._save_tabledjango/db/models/base.py:10861.00 ms1.1%
MembersTest.test_owners_revoke_invitationsapps/orgs/tests.py:126 self.client.post(reverse("invitation_revoke", args=["acme"]), {"email": "[email protected]"})7 ms7.4%
Client.postdjango/test/client.py:11537 ms7.4%
RequestFactory.postdjango/test/client.py:4997 ms7.4%
RequestFactory.genericdjango/test/client.py:6717 ms7.4%
Client.requestdjango/test/client.py:10827 ms7.4%
ClientHandler.__call__django/test/client.py:1867 ms7.4%
BaseHandler.get_responsedjango/core/handlers/base.py:1417 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms7.4%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1307 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms7.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3097 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms7.4%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1237 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms7.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3097 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms7.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3097 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms7.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3097 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms7.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3097 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms7.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3097 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms7.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3097 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms7.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:347 ms7.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:557 ms7.4%
BaseHandler._get_responsedjango/core/handlers/base.py:1987 ms7.4%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:594 ms4.2%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:644 ms4.2%
invitation_revokeapps/orgs/views.py:2382 ms2.1%
member_organizationapps/orgs/views.py:59 organization = get_object_or_404(Organization, slug=org_slug)1.00 ms1.1%
get_object_or_404django/shortcuts.py:901.00 ms1.1%
QuerySet.getdjango/db/models/query.py:6351.00 ms1.1%
QuerySet.__len__django/db/models/query.py:3721.00 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001.00 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951.00 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241.00 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791.00 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921.00 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051.00 ms1.1%
Cursor.executepsycopg/cursor.py:1131.00 ms1.1%
Connection.waitpsycopg/connection.py:4951.00 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061.00 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861.00 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781.00 ms1.1%
member_organizationapps/orgs/views.py:621.00 ms1.1%
Organization.is_ownerapps/orgs/models.py:65 return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()1.00 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871.00 ms1.1%
QuerySet.filterdjango/db/models/query.py:15421.00 ms1.1%
QuerySet._filter_or_excludedjango/db/models/query.py:15601.00 ms1.1%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15701.00 ms1.1%
Query.add_qdjango/db/models/sql/query.py:16731.00 ms1.1%
Node.adddjango/utils/tree.py:1071.00 ms1.1%
invitation_revokeapps/orgs/views.py:240 organization=organization, email=request.POST.get("email") or "", date_accepted=None1.00 ms1.1%
WSGIRequest._get_postdjango/core/handlers/wsgi.py:931.00 ms1.1%
HttpRequest._load_post_and_filesdjango/http/request.py:4321.00 ms1.1%
HttpRequest.parse_file_uploaddjango/http/request.py:3771.00 ms1.1%
MultiPartParser.parsedjango/http/multipartparser.py:1251.00 ms1.1%
MultiPartParser._parsedjango/http/multipartparser.py:1881.00 ms1.1%
Parser.__iter__django/http/multipartparser.py:7541.00 ms1.1%
parse_boundary_streamdjango/http/multipartparser.py:6981.00 ms1.1%
LazyStream.readdjango/http/multipartparser.py:4681.00 ms1.1%
LazyStream.read.<locals>.partsdjango/http/multipartparser.py:4631.00 ms1.1%
invitation_revokeapps/orgs/views.py:241 ).delete()1.00 ms1.1%
QuerySet.deletedjango/db/models/query.py:12381.00 ms1.1%
Collector.deletedjango/db/models/deletion.py:4711.00 ms1.1%
QuerySet._raw_deletedjango/db/models/query.py:12601.00 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241.00 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791.00 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921.00 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051.00 ms1.1%
Cursor.executepsycopg/cursor.py:1131.00 ms1.1%
Connection.waitpsycopg/connection.py:4951.00 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061.00 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861.00 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781.00 ms1.1%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:563 ms3.2%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:793 ms3.2%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2513 ms3.2%
SimpleLazyObject._setupdjango/utils/functional.py:4043 ms3.2%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:403 ms3.2%
get_userdjango/contrib/auth/middleware.py:203 ms3.2%
get_userdjango/contrib/auth/__init__.py:3112 ms2.1%
_get_user_session_keydjango/contrib/auth/__init__.py:952 ms2.1%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:552 ms2.1%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2512 ms2.1%
SessionStore.loaddjango/contrib/sessions/backends/db.py:552 ms2.1%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:342 ms2.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms2.1%
QuerySet.getdjango/db/models/query.py:6251.00 ms1.1%
QuerySet.filterdjango/db/models/query.py:15421.00 ms1.1%
QuerySet._filter_or_excludedjango/db/models/query.py:15531.00 ms1.1%
QuerySet.getdjango/db/models/query.py:6351.00 ms1.1%
QuerySet.__len__django/db/models/query.py:3721.00 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001.00 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951.00 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241.00 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791.00 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921.00 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051.00 ms1.1%
Cursor.executepsycopg/cursor.py:1131.00 ms1.1%
Connection.waitpsycopg/connection.py:4951.00 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2051.00 ms1.1%
BaseCursor._convert_querypsycopg/_cursor_base.py:4651.00 ms1.1%
PostgresClientQuery.convertpsycopg/_queries.py:2891.00 ms1.1%
PostgresClientQuery.dumppsycopg/_queries.py:2991.00 ms1.1%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3001.00 ms1.1%
get_userdjango/contrib/auth/__init__.py:3181.00 ms1.1%
ModelBackend.get_userdjango/contrib/auth/backends.py:2321.00 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871.00 ms1.1%
QuerySet.getdjango/db/models/query.py:6351.00 ms1.1%
QuerySet.__len__django/db/models/query.py:3721.00 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001.00 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951.00 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111.00 ms1.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:8401.00 ms1.1%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()2 ms2.1%
TestCase._fixture_teardowndjango/test/testcases.py:14941.00 ms1.1%
TestCase._should_check_constraintsdjango/test/testcases.py:15031.00 ms1.1%
DatabaseWrapper.is_usabledjango/db/backends/postgresql/base.py:4921.00 ms1.1%
Cursor.executepsycopg/cursor.py:1131.00 ms1.1%
Connection.waitpsycopg/connection.py:4951.00 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061.00 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861.00 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781.00 ms1.1%
TestCase._fixture_teardowndjango/test/testcases.py:14971.00 ms1.1%
TestCase._rollback_atomicsdjango/test/testcases.py:14051.00 ms1.1%
Atomic.__exit__django/db/transaction.py:2831.00 ms1.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261.00 ms1.1%
BaseDatabaseWrapper.savepoint_rollbackdjango/db/backends/base/base.py:4131.00 ms1.1%
BaseDatabaseWrapper._savepoint_rollbackdjango/db/backends/base/base.py:3711.00 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791.00 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921.00 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1031.00 ms1.1%
Cursor.executepsycopg/cursor.py:1131.00 ms1.1%
Connection.waitpsycopg/connection.py:4951.00 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061.00 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861.00 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781.00 ms1.1%
TransactionTestCase._pre_setupdjango/test/testcases.py:1164 cls._fixture_setup()1.00 ms1.1%
MembersTest.test_owners_revoke_invitationsapps/orgs/tests.py:122 Invitation.objects.create(organization=self.organization, email="[email protected]")1.00 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871.00 ms1.1%
QuerySet.createdjango/db/models/query.py:6691.00 ms1.1%
Model.savedjango/db/models/base.py:8741.00 ms1.1%
Model.save_basedjango/db/models/base.py:9661.00 ms1.1%
Model._save_tabledjango/db/models/base.py:11671.00 ms1.1%
Model._do_insertdjango/db/models/base.py:12181.00 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871.00 ms1.1%
QuerySet._insertdjango/db/models/query.py:19181.00 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251.00 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791.00 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921.00 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051.00 ms1.1%
Cursor.executepsycopg/cursor.py:1131.00 ms1.1%
Connection.waitpsycopg/connection.py:4951.00 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2051.00 ms1.1%
BaseCursor._convert_querypsycopg/_cursor_base.py:4651.00 ms1.1%
PostgresClientQuery.convertpsycopg/_queries.py:2891.00 ms1.1%
PostgresClientQuery.dumppsycopg/_queries.py:2991.00 ms1.1%
PostgresClientQuery.dump.<locals>.<genexpr>psycopg/_queries.py:3001.00 ms1.1%
teardown0.20 ms0.2%
Estimated from 97 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
apps/orgs/tests.py:124
response = self.client.get(reverse("org_members", args=["acme"]))
MembersTest.test_owners_revoke_invitations
· Libraries
|
58 ms |
|
apps/orgs/tests.py:123
self.client.force_login(self.owner)
MembersTest.test_owners_revoke_invitations
· Database
|
8 ms |
|
apps/orgs/views.py:190
return render(
org_members
· Templates
|
7 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/tests.py:126
self.client.post(reverse("invitation_revoke", args=["acme"]), {"email": "[email protected]"})
MembersTest.test_owners_revoke_invitations
· Database
|
3 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/tests.py:122
Invitation.objects.create(organization=self.organization, email="[email protected]")
MembersTest.test_owners_revoke_invitations
· Database
|
1.00 ms |
|
apps/orgs/views.py:188
memberships = organization.membership_set.select_related("user").order_by("role", "user__email")
org_members
· Database
|
1.00 ms |
|
apps/orgs/views.py:33
organizations = [] if user.is_anonymous else list(Organization.objects.filter(membership__user=user))
org_shell
· Database
|
1.00 ms |
|
apps/orgs/views.py:40
"org_projects": list(organization.project_set.order_by("name")) if member else [],
org_shell
· Database
|
1.00 ms |
Fixtures
Exact setup time| monkeypatch function | 0.20 ms |
| _template_string_if_invalid_marker function | 0.06 ms |
| _dj_autoclear_mailbox function | 0.05 ms |
| _django_db_marker function | 0.04 ms |
| _django_set_urlconf function | 0.04 ms |
| _live_server_helper function | 0.04 ms |
| _django_clear_site_cache function | 0.03 ms |
Database
41 queries · 14 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 "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/orgs/tests.py:124
|
91 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
2 ms |
|
call _pre_setup
django/test/testcases.py:1164
|
1.00 ms |
|
setup iscoroutinefunction
<stdlib>/inspect.py:336
|
0.98 ms |
|
teardown __init__
__init__:-1
|
0.20 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 | 95 ms | Profile |
| 1 week, 5 days ago | CI github-actions:test | passed | 35 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 66 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 55 ms | Profile |
| 2 weeks, 1 day ago | CI github-actions:test | passed | 83 ms | Profile |
| 2 weeks, 2 days ago | CI github-actions:test | passed | 39 ms | Profile |
| 2 weeks, 4 days ago | CI github-actions:test | passed | 67 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 65 ms | Profile |
| 2 weeks, 6 days ago | CI github-actions:test | passed | 64 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 70 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 36 ms | Profile |
| 3 weeks ago | CI github-actions:test | passed | 62 ms | Profile |