flakytest.dev anze3db flakytest
Tests / apps/orgs/tests.py

MembersTest::test_roles_and_the_last_owner

First seen 3 weeks ago in 78a4357
CI github-actions:test 12 runs
Average
64 ms
median 67 ms
max 95 ms
Phases
Setup 0.69 ms Call 62 ms Teardown 1 ms
Categories
Database 33 ms Other (Libraries, Unsampled, pytest) 31 ms

45 database queries per run

Needs 50 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
Show pytest frames
setup0.93 ms1.0%
iscoroutinefunction<stdlib>/inspect.py:336 return _has_code_flag(obj, CO_COROUTINE) or _has_coroutine_mark(obj)0.93 ms1.0%
_has_code_flag<stdlib>/inspect.py:2960.93 ms1.0%
call90 ms95.3%
MembersTest.test_roles_and_the_last_ownerapps/orgs/tests.py:150 self.client.post(url, {"user": "owner", "action": "member"})58 ms61.4%
Client.postdjango/test/client.py:115358 ms61.4%
RequestFactory.postdjango/test/client.py:49958 ms61.4%
RequestFactory.genericdjango/test/client.py:67158 ms61.4%
Client.requestdjango/test/client.py:108258 ms61.4%
ClientHandler.__call__django/test/client.py:17348 ms50.8%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6248 ms50.8%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10447 ms49.7%
WhiteNoise.add_fileswhitenoise/base.py:10847 ms49.7%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12043 ms45.5%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13142 ms44.5%
WhiteNoise.get_static_filewhitenoise/base.py:20834 ms36.0%
StaticFile.__init__whitenoise/responders.py:7314 ms14.8%
StaticFile.get_headerswhitenoise/responders.py:1767 ms7.4%
formatdate<stdlib>/email/utils.py:2664 ms4.2%
format_datetime<stdlib>/email/utils.py:2752 ms2.1%
format_datetime<stdlib>/email/utils.py:2771 ms1.1%
format_datetime<stdlib>/email/utils.py:2841 ms1.1%
_format_timetuple_and_zone<stdlib>/email/utils.py:2311 ms1.1%
formatdate<stdlib>/email/utils.py:2592 ms2.1%
Headers.__setitem__<stdlib>/wsgiref/headers.py:621 ms1.1%
Headers.__delitem__<stdlib>/wsgiref/headers.py:711 ms1.1%
StaticFile.get_headerswhitenoise/responders.py:1773 ms3.2%
Headers.__contains__<stdlib>/wsgiref/headers.py:873 ms3.2%
Headers.get<stdlib>/wsgiref/headers.py:1041 ms1.1%
StaticFile.get_headerswhitenoise/responders.py:1672 ms2.1%
__init____init__:-12 ms2.1%
Headers.__init__<stdlib>/wsgiref/headers.py:381 ms1.1%
Headers.__init__<stdlib>/wsgiref/headers.py:431 ms1.1%
StaticFile.get_headerswhitenoise/responders.py:1781 ms1.1%
parsedate<stdlib>/email/_parseaddr.py:1851 ms1.1%
parsedate_tz<stdlib>/email/_parseaddr.py:501 ms1.1%
_parsedate_tz<stdlib>/email/_parseaddr.py:691 ms1.1%
StaticFile.get_headerswhitenoise/responders.py:1711 ms1.1%
Headers.__contains__<stdlib>/wsgiref/headers.py:871 ms1.1%
Headers.get<stdlib>/wsgiref/headers.py:1041 ms1.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.1%
StaticFile.__init__whitenoise/responders.py:7712 ms12.7%
StaticFile.get_alternativeswhitenoise/responders.py:2006 ms6.4%
__init____init__:-14 ms4.2%
Headers.__init__<stdlib>/wsgiref/headers.py:432 ms2.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.1%
Headers.__init__<stdlib>/wsgiref/headers.py:441 ms1.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.1%
Headers.__init__<stdlib>/wsgiref/headers.py:421 ms1.1%
StaticFile.get_alternativeswhitenoise/responders.py:2014 ms4.2%
Headers.__setitem__<stdlib>/wsgiref/headers.py:642 ms2.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:502 ms2.1%
Headers.__setitem__<stdlib>/wsgiref/headers.py:621 ms1.1%
Headers.__delitem__<stdlib>/wsgiref/headers.py:721 ms1.1%
StaticFile.get_alternativeswhitenoise/responders.py:2031 ms1.1%
Headers.__setitem__<stdlib>/wsgiref/headers.py:621 ms1.1%
Headers.__delitem__<stdlib>/wsgiref/headers.py:711 ms1.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:491 ms1.1%
StaticFile.get_alternativeswhitenoise/responders.py:2021 ms1.1%
StaticFile.__init__whitenoise/responders.py:724 ms4.2%
StaticFile.get_file_statswhitenoise/responders.py:1612 ms2.1%
__init____init__:-12 ms2.1%
FileEntry.__init__whitenoise/responders.py:2641 ms1.1%
FileEntry.__init__whitenoise/responders.py:2631 ms1.1%
FileEntry.stat_regular_filewhitenoise/responders.py:2741 ms1.1%
StaticFile.get_file_statswhitenoise/responders.py:1571 ms1.1%
__init____init__:-11 ms1.1%
FileEntry.__init__whitenoise/responders.py:2601 ms1.1%
<GC>~1 ms1.1%
StaticFile.get_file_statswhitenoise/responders.py:1591 ms1.1%
StaticFile.__init__whitenoise/responders.py:762 ms2.1%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1882 ms2.1%
Headers.__contains__<stdlib>/wsgiref/headers.py:872 ms2.1%
Headers.get<stdlib>/wsgiref/headers.py:1061 ms1.1%
Headers.get<stdlib>/wsgiref/headers.py:1041 ms1.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:521 ms1.1%
StaticFile.__init__whitenoise/responders.py:741 ms1.1%
parsedate<stdlib>/email/_parseaddr.py:1851 ms1.1%
parsedate_tz<stdlib>/email/_parseaddr.py:501 ms1.1%
_parsedate_tz<stdlib>/email/_parseaddr.py:1011 ms1.1%
StaticFile.__init__whitenoise/responders.py:751 ms1.1%
Headers.__getitem__<stdlib>/wsgiref/headers.py:831 ms1.1%
Headers.get<stdlib>/wsgiref/headers.py:1061 ms1.1%
WhiteNoise.get_static_filewhitenoise/base.py:2037 ms7.4%
WhiteNoise.add_cache_headerswhitenoise/base.py:2247 ms7.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:1843 ms3.2%
ManifestFilesMixin.stored_namedjango/contrib/staticfiles/storage.py:5341 ms1.1%
urlunsplit<stdlib>/urllib/parse.py:6651 ms1.1%
ManifestFilesMixin.stored_namedjango/contrib/staticfiles/storage.py:5181 ms1.1%
ManifestFilesMixin.stored_namedjango/contrib/staticfiles/storage.py:5211 ms1.1%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1781 ms1.1%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:1861 ms1.1%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2121 ms1.1%
LazyObject.__getattribute__django/utils/functional.py:2801 ms1.1%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2531 ms1.1%
WhiteNoise.get_static_filewhitenoise/base.py:2021 ms1.1%
WhiteNoise.add_mime_headerswhitenoise/base.py:2211 ms1.1%
Headers.add_header<stdlib>/wsgiref/headers.py:1921 ms1.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.1%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1153 ms3.2%
scantreewhitenoise/base.py:2623 ms3.2%
scantreewhitenoise/base.py:2623 ms3.2%
scantreewhitenoise/base.py:2641 ms1.1%
scantreewhitenoise/base.py:2621 ms1.1%
scantreewhitenoise/base.py:2621 ms1.1%
scantreewhitenoise/base.py:2621 ms1.1%
scantreewhitenoise/base.py:2641 ms1.1%
scantreewhitenoise/base.py:2601 ms1.1%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:1111 ms1.1%
WhiteNoise.add_fileswhitenoise/base.py:1081 ms1.1%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1201 ms1.1%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1311 ms1.1%
WhiteNoise.get_static_filewhitenoise/base.py:2081 ms1.1%
StaticFile.__init__whitenoise/responders.py:771 ms1.1%
StaticFile.get_alternativeswhitenoise/responders.py:2001 ms1.1%
__init____init__:-11 ms1.1%
Headers.__init__<stdlib>/wsgiref/headers.py:441 ms1.1%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.1%
ClientHandler.__call__django/test/client.py:18610 ms10.6%
BaseHandler.get_responsedjango/core/handlers/base.py:14110 ms10.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms10.6%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13010 ms10.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms10.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30910 ms10.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms10.6%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12310 ms10.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms10.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30910 ms10.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms10.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30910 ms10.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms10.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30910 ms10.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms10.6%
MiddlewareMixin.__call__django/utils/deprecation.py:30910 ms10.6%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5510 ms10.6%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:349 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
BaseHandler._get_responsedjango/core/handlers/base.py:1989 ms9.5%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:596 ms6.4%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:646 ms6.4%
membership_updateapps/orgs/views.py:2092 ms2.1%
member_organizationapps/orgs/views.py:59 organization = get_object_or_404(Organization, slug=org_slug)1 ms1.1%
get_object_or_404django/shortcuts.py:901 ms1.1%
QuerySet.getdjango/db/models/query.py:6351 ms1.1%
QuerySet.__len__django/db/models/query.py:3721 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
member_organizationapps/orgs/views.py:621 ms1.1%
Organization.is_memberapps/orgs/models.py:62 return user.is_authenticated and self.membership_set.filter(user=user).exists()1 ms1.1%
QuerySet.existsdjango/db/models/query.py:13371 ms1.1%
Query.has_resultsdjango/db/models/sql/query.py:6811 ms1.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms1.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7921 ms1.1%
SQLCompiler.get_from_clausedjango/db/models/sql/compiler.py:11591 ms1.1%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms1.1%
BaseTable.as_sqldjango/db/models/sql/datastructures.py:1991 ms1.1%
SQLCompiler.quote_name_unless_aliasdjango/db/backends/postgresql/compiler.py:341 ms1.1%
SQLCompiler.quote_name_unless_aliasdjango/db/models/sql/compiler.py:5711 ms1.1%
membership_updateapps/orgs/views.py:210 membership = get_object_or_404(Membership, organization=organization, user__username=request.POST.get("user") or "")2 ms2.1%
get_object_or_404django/shortcuts.py:902 ms2.1%
QuerySet.getdjango/db/models/query.py:6251 ms1.1%
QuerySet.filterdjango/db/models/query.py:15421 ms1.1%
QuerySet._filter_or_excludedjango/db/models/query.py:15551 ms1.1%
QuerySet._chaindjango/db/models/query.py:19731 ms1.1%
QuerySet._clonedjango/db/models/query.py:19861 ms1.1%
Query.chaindjango/db/models/sql/query.py:4331 ms1.1%
Query.clonedjango/db/models/sql/query.py:3931 ms1.1%
QuerySet.getdjango/db/models/query.py:6351 ms1.1%
QuerySet.__len__django/db/models/query.py:3721 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.1%
membership_updateapps/orgs/views.py:2111 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 ms1.1%
QuerySet.existsdjango/db/models/query.py:13371 ms1.1%
Query.has_resultsdjango/db/models/sql/query.py:6811 ms1.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms1.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7951 ms1.1%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms1.1%
WhereNode.as_sqldjango/db/models/sql/where.py:1781 ms1.1%
membership_updateapps/orgs/views.py:216 last_owner = membership.role == Membership.Role.OWNER and owners.count() == 11 ms1.1%
QuerySet.countdjango/db/models/query.py:6101 ms1.1%
Query.get_countdjango/db/models/sql/query.py:6511 ms1.1%
Query.get_aggregationdjango/db/models/sql/query.py:4861 ms1.1%
Expression.__hash__django/db/models/expressions.py:5621 ms1.1%
cached_property.__get__django/utils/functional.py:471 ms1.1%
Expression.identitydjango/db/models/expressions.py:5521 ms1.1%
Expression._identitydjango/db/models/expressions.py:5381 ms1.1%
make_hashabledjango/utils/hashable.py:201 ms1.1%
Expression.__hash__django/db/models/expressions.py:5621 ms1.1%
cached_property.__get__django/utils/functional.py:471 ms1.1%
Expression.identitydjango/db/models/expressions.py:5481 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:952 ms2.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms1.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7951 ms1.1%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms1.1%
WhereNode.as_sqldjango/db/models/sql/where.py:1511 ms1.1%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16621 ms1.1%
cursor_iterdjango/db/models/sql/compiler.py:22541 ms1.1%
cursor_iter.<locals>.<lambda>django/db/models/sql/compiler.py:22541 ms1.1%
DatabaseErrorWrapper.__call__.<locals>.innerdjango/db/utils.py:1011 ms1.1%
Cursor.fetchmanypsycopg/cursor.py:2681 ms1.1%
BaseTzLoader.loaddjango/db/backends/postgresql/psycopg_any.py:341 ms1.1%
TimestamptzLoader.loadpsycopg/types/datetime.py:4941 ms1.1%
TimestamptzLoader._load_isopsycopg/types/datetime.py:5171 ms1.1%
get_userdjango/contrib/auth/__init__.py:3181 ms1.1%
ModelBackend.get_userdjango/contrib/auth/backends.py:2321 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.getdjango/db/models/query.py:6351 ms1.1%
QuerySet.__len__django/db/models/query.py:3721 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.1%
MiddlewareMixin.__call__django/utils/deprecation.py:3111 ms1.1%
MessageMiddleware.process_responsedjango/contrib/messages/middleware.py:231 ms1.1%
BaseStorage.updatedjango/contrib/messages/storage/base.py:1401 ms1.1%
FallbackStorage._storedjango/contrib/messages/storage/fallback.py:501 ms1.1%
CookieStorage._storedjango/contrib/messages/storage/cookie.py:1411 ms1.1%
CookieStorage._encode_partsdjango/contrib/messages/storage/cookie.py:1841 ms1.1%
Signer.sign_objectdjango/core/signing.py:2321 ms1.1%
MembersTest.test_roles_and_the_last_ownerapps/orgs/tests.py:153 self.client.post(url, {"user": "member", "action": "owner"})9 ms9.5%
Client.postdjango/test/client.py:11539 ms9.5%
RequestFactory.postdjango/test/client.py:4999 ms9.5%
RequestFactory.genericdjango/test/client.py:6719 ms9.5%
Client.requestdjango/test/client.py:10829 ms9.5%
ClientHandler.__call__django/test/client.py:1869 ms9.5%
BaseHandler.get_responsedjango/core/handlers/base.py:1419 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1309 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1239 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:349 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
BaseHandler._get_responsedjango/core/handlers/base.py:1989 ms9.5%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:596 ms6.4%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:646 ms6.4%
membership_updateapps/orgs/views.py:210 membership = get_object_or_404(Membership, organization=organization, user__username=request.POST.get("user") or "")2 ms2.1%
get_object_or_404django/shortcuts.py:902 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:952 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%
membership_updateapps/orgs/views.py:2091 ms1.1%
member_organizationapps/orgs/views.py:621 ms1.1%
Organization.is_memberapps/orgs/models.py:62 return user.is_authenticated and self.membership_set.filter(user=user).exists()1 ms1.1%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2501 ms1.1%
LazyObject.__getattribute__django/utils/functional.py:2791 ms1.1%
membership_updateapps/orgs/views.py:2111 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 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.filterdjango/db/models/query.py:15421 ms1.1%
QuerySet._filter_or_excludedjango/db/models/query.py:15601 ms1.1%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15701 ms1.1%
Query.add_qdjango/db/models/sql/query.py:16711 ms1.1%
Query._add_qdjango/db/models/sql/query.py:17031 ms1.1%
Query.build_filterdjango/db/models/sql/query.py:15881 ms1.1%
Query.check_related_objectsdjango/db/models/sql/query.py:13971 ms1.1%
Query.check_query_object_typedjango/db/models/sql/query.py:13731 ms1.1%
check_rel_lookup_compatibilitydjango/db/models/query_utils.py:4841 ms1.1%
check_rel_lookup_compatibility.<locals>.checkdjango/db/models/query_utils.py:4701 ms1.1%
membership_updateapps/orgs/views.py:215 owners = organization.membership_set.filter(role=Membership.Role.OWNER)1 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.filterdjango/db/models/query.py:15411 ms1.1%
QuerySet._not_support_combined_queriesdjango/db/models/query.py:20741 ms1.1%
QuerySet.querydjango/db/models/query.py:3061 ms1.1%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15701 ms1.1%
Query.add_qdjango/db/models/sql/query.py:16711 ms1.1%
Query._add_qdjango/db/models/sql/query.py:17031 ms1.1%
Query.build_filterdjango/db/models/sql/query.py:15861 ms1.1%
ABCMeta.__instancecheck__<frozen abc>:1191 ms1.1%
membership_updateapps/orgs/views.py:232 return redirect("org_members", org_slug=organization.slug)1 ms1.1%
redirectdjango/shortcuts.py:511 ms1.1%
resolve_urldjango/shortcuts.py:1841 ms1.1%
reversedjango/urls/base.py:391 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:551 ms1.1%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:341 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.getdjango/db/models/query.py:6251 ms1.1%
QuerySet.filterdjango/db/models/query.py:15421 ms1.1%
QuerySet._filter_or_excludedjango/db/models/query.py:15601 ms1.1%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15701 ms1.1%
Query.add_qdjango/db/models/sql/query.py:16711 ms1.1%
Query._add_qdjango/db/models/sql/query.py:17031 ms1.1%
Query.build_filterdjango/db/models/sql/query.py:16131 ms1.1%
Query.build_lookupdjango/db/models/sql/query.py:14301 ms1.1%
BaseExpression.get_lookupdjango/db/models/expressions.py:4041 ms1.1%
RegisterLookupMixin.get_lookupdjango/db/models/query_utils.py:3281 ms1.1%
RegisterLookupMixin._get_lookupdjango/db/models/query_utils.py:3071 ms1.1%
SessionStore.loaddjango/contrib/sessions/backends/db.py:561 ms1.1%
SessionBase.decodedjango/contrib/sessions/backends/base.py:1351 ms1.1%
loadsdjango/core/signing.py:1711 ms1.1%
Signer.unsign_objectdjango/core/signing.py:2521 ms1.1%
JSONSerializer.loadsdjango/core/signing.py:1291 ms1.1%
get_userdjango/contrib/auth/__init__.py:3181 ms1.1%
ModelBackend.get_userdjango/contrib/auth/backends.py:2321 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.getdjango/db/models/query.py:6351 ms1.1%
QuerySet.__len__django/db/models/query.py:3721 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:1271 ms1.1%
SQLCompiler.results_iterdjango/db/models/sql/compiler.py:15771 ms1.1%
SQLCompiler.get_convertersdjango/db/models/sql/compiler.py:15261 ms1.1%
Col.get_db_convertersdjango/db/models/expressions.py:13391 ms1.1%
Field.__eq__django/db/models/fields/__init__.py:6771 ms1.1%
MembersTest.test_roles_and_the_last_ownerapps/orgs/tests.py:154 self.client.post(url, {"user": "owner", "action": "member"})9 ms9.5%
Client.postdjango/test/client.py:11539 ms9.5%
RequestFactory.postdjango/test/client.py:4999 ms9.5%
RequestFactory.genericdjango/test/client.py:6719 ms9.5%
Client.requestdjango/test/client.py:10829 ms9.5%
ClientHandler.__call__django/test/client.py:1869 ms9.5%
BaseHandler.get_responsedjango/core/handlers/base.py:1419 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1309 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1239 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
MiddlewareMixin.__call__django/utils/deprecation.py:3099 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:349 ms9.5%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:559 ms9.5%
BaseHandler._get_responsedjango/core/handlers/base.py:1989 ms9.5%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:597 ms7.4%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:647 ms7.4%
membership_updateapps/orgs/views.py:210 membership = get_object_or_404(Membership, organization=organization, user__username=request.POST.get("user") or "")2 ms2.1%
get_object_or_404django/shortcuts.py:902 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:952 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%
membership_updateapps/orgs/views.py:2092 ms2.1%
member_organizationapps/orgs/views.py:59 organization = get_object_or_404(Organization, slug=org_slug)1 ms1.1%
get_object_or_404django/shortcuts.py:901 ms1.1%
QuerySet.getdjango/db/models/query.py:6251 ms1.1%
QuerySet.filterdjango/db/models/query.py:15421 ms1.1%
QuerySet._filter_or_excludedjango/db/models/query.py:15601 ms1.1%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15701 ms1.1%
member_organizationapps/orgs/views.py:621 ms1.1%
Organization.is_memberapps/orgs/models.py:62 return user.is_authenticated and self.membership_set.filter(user=user).exists()1 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.filterdjango/db/models/query.py:15411 ms1.1%
QuerySet._not_support_combined_queriesdjango/db/models/query.py:20741 ms1.1%
QuerySet.querydjango/db/models/query.py:3061 ms1.1%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15701 ms1.1%
Query.add_qdjango/db/models/sql/query.py:16711 ms1.1%
Query._add_qdjango/db/models/sql/query.py:17031 ms1.1%
Query.build_filterdjango/db/models/sql/query.py:15731 ms1.1%
Query.get_initial_aliasdjango/db/models/sql/query.py:11161 ms1.1%
Query.joindjango/db/models/sql/query.py:11581 ms1.1%
membership_updateapps/orgs/views.py:2111 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 ms1.1%
QuerySet.existsdjango/db/models/query.py:13371 ms1.1%
Query.has_resultsdjango/db/models/sql/query.py:6811 ms1.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16221 ms1.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.1%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3201 ms1.1%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2981 ms1.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.1%
DatabaseWrapper.create_cursordjango/db/backends/postgresql/base.py:4301 ms1.1%
Connection.cursorpsycopg/connection.py:2591 ms1.1%
Cursor.__init__psycopg/cursor.py:471 ms1.1%
BaseCursor.__init__psycopg/_cursor_base.py:721 ms1.1%
membership_updateapps/orgs/views.py:216 last_owner = membership.role == Membership.Role.OWNER and owners.count() == 11 ms1.1%
QuerySet.countdjango/db/models/query.py:6101 ms1.1%
Query.get_countdjango/db/models/sql/query.py:6511 ms1.1%
Query.get_aggregationdjango/db/models/sql/query.py:6331 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16111 ms1.1%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7671 ms1.1%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:861 ms1.1%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:751 ms1.1%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3171 ms1.1%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5781 ms1.1%
Aggregate.as_sqldjango/db/models/aggregates.py:2091 ms1.1%
membership_updateapps/orgs/views.py:231 membership.save(update_fields=["role"])1 ms1.1%
Model.savedjango/db/models/base.py:8741 ms1.1%
Model.save_basedjango/db/models/base.py:9661 ms1.1%
Model._save_tabledjango/db/models/base.py:11101 ms1.1%
Model._do_updatedjango/db/models/base.py:12111 ms1.1%
QuerySet._updatedjango/db/models/query.py:13271 ms1.1%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21401 ms1.1%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21111 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16221 ms1.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.1%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3201 ms1.1%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2981 ms1.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.1%
DatabaseWrapper.create_cursordjango/db/backends/postgresql/base.py:4301 ms1.1%
Connection.cursorpsycopg/connection.py:2591 ms1.1%
Cursor.__init__psycopg/cursor.py:471 ms1.1%
BaseCursor.__init__psycopg/_cursor_base.py:651 ms1.1%
__init____init__:-11 ms1.1%
AdaptersMap.__init__psycopg/_adapters_map.py:831 ms1.1%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:562 ms2.1%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:792 ms2.1%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms2.1%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms2.1%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms2.1%
get_userdjango/contrib/auth/middleware.py:202 ms2.1%
get_userdjango/contrib/auth/__init__.py:3111 ms1.1%
_get_user_session_keydjango/contrib/auth/__init__.py:951 ms1.1%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:551 ms1.1%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2511 ms1.1%
SessionStore.loaddjango/contrib/sessions/backends/db.py:551 ms1.1%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:341 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.getdjango/db/models/query.py:6251 ms1.1%
QuerySet.filterdjango/db/models/query.py:15421 ms1.1%
QuerySet._filter_or_excludedjango/db/models/query.py:15601 ms1.1%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15701 ms1.1%
Query.add_qdjango/db/models/sql/query.py:16711 ms1.1%
Query._add_qdjango/db/models/sql/query.py:17161 ms1.1%
get_userdjango/contrib/auth/__init__.py:3181 ms1.1%
ModelBackend.get_userdjango/contrib/auth/backends.py:2321 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.getdjango/db/models/query.py:6351 ms1.1%
QuerySet.__len__django/db/models/query.py:3721 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.1%
MembersTest.test_roles_and_the_last_ownerapps/orgs/tests.py:147 self.client.force_login(self.owner)8 ms8.5%
ClientMixin.force_logindjango/test/client.py:8558 ms8.5%
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 ms1.1%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1981 ms1.1%
SessionStore.existsdjango/contrib/sessions/backends/db.py:631 ms1.1%
QuerySet.existsdjango/db/models/query.py:13371 ms1.1%
Query.has_resultsdjango/db/models/sql/query.py:6811 ms1.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16221 ms1.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.1%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3201 ms1.1%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2981 ms1.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.1%
DatabaseWrapper.create_cursordjango/db/backends/postgresql/base.py:4351 ms1.1%
AdaptersMap.get_loaderpsycopg/_adapters_map.py:2731 ms1.1%
SessionStore.createdjango/contrib/sessions/backends/db.py:741 ms1.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1271 ms1.1%
Model.savedjango/db/models/base.py:8741 ms1.1%
Model.save_basedjango/db/models/base.py:9661 ms1.1%
Model._save_tabledjango/db/models/base.py:11671 ms1.1%
Model._do_insertdjango/db/models/base.py:12181 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet._insertdjango/db/models/query.py:19181 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.1%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4371 ms1.1%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1751 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.getdjango/db/models/query.py:6351 ms1.1%
QuerySet.__len__django/db/models/query.py:3721 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.1%
logindjango/contrib/auth/__init__.py:1751 ms1.1%
SessionBase.__contains__django/contrib/sessions/backends/base.py:521 ms1.1%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2511 ms1.1%
SessionStore.loaddjango/contrib/sessions/backends/db.py:551 ms1.1%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:341 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.getdjango/db/models/query.py:6351 ms1.1%
QuerySet.__len__django/db/models/query.py:3721 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.1%
logindjango/contrib/auth/__init__.py:1961 ms1.1%
rotate_tokendjango/middleware/csrf.py:1221 ms1.1%
_add_new_csrf_cookiedjango/middleware/csrf.py:861 ms1.1%
_get_new_csrf_stringdjango/middleware/csrf.py:561 ms1.1%
get_random_stringdjango/utils/crypto.py:621 ms1.1%
get_random_string.<locals>.<genexpr>django/utils/crypto.py:621 ms1.1%
Random.choice<stdlib>/random.py:3541 ms1.1%
Random._randbelow_with_getrandbits<stdlib>/random.py:2491 ms1.1%
SystemRandom.getrandbits<stdlib>/random.py:9151 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 ms1.1%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:1981 ms1.1%
SessionStore.existsdjango/contrib/sessions/backends/db.py:631 ms1.1%
QuerySet.existsdjango/db/models/query.py:13371 ms1.1%
Query.has_resultsdjango/db/models/sql/query.py:6811 ms1.1%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15921 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.1%
SessionStore.createdjango/contrib/sessions/backends/db.py:741 ms1.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1271 ms1.1%
Model.savedjango/db/models/base.py:8741 ms1.1%
Model.save_basedjango/db/models/base.py:9661 ms1.1%
Model._save_tabledjango/db/models/base.py:11671 ms1.1%
Model._do_insertdjango/db/models/base.py:12181 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet._insertdjango/db/models/query.py:19181 ms1.1%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19251 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
ClientMixin._logindjango/test/client.py:8831 ms1.1%
SessionStore.savedjango/contrib/sessions/backends/db.py:1261 ms1.1%
Atomic.__enter__django/db/transaction.py:2111 ms1.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.1%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4001 ms1.1%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3671 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.1%
TransactionTestCase._pre_setupdjango/test/testcases.py:1164 cls._fixture_setup()1 ms1.1%
TestCase._fixture_setupdjango/test/testcases.py:14781 ms1.1%
TestCase._enter_atomicsdjango/test/testcases.py:13961 ms1.1%
Atomic.__enter__django/db/transaction.py:2111 ms1.1%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.1%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4001 ms1.1%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3671 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.1%
MembersTest.test_roles_and_the_last_ownerapps/orgs/tests.py:148 owner = Membership.objects.get(user=self.owner)1 ms1.1%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.1%
QuerySet.getdjango/db/models/query.py:6351 ms1.1%
QuerySet.__len__django/db/models/query.py:3721 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2051 ms1.1%
BaseCursor._convert_querypsycopg/_cursor_base.py:4651 ms1.1%
PostgresClientQuery.convertpsycopg/_queries.py:2841 ms1.1%
_query2pg_client_nocachepsycopg/_queries.py:3301 ms1.1%
MembersTest.test_roles_and_the_last_ownerapps/orgs/tests.py:149 url = reverse("membership_update", args=["acme"])1 ms1.1%
reversedjango/urls/base.py:391 ms1.1%
get_urlconfdjango/urls/base.py:1661 ms1.1%
Local.__getattr__asgiref/local.py:1201 ms1.1%
Local._lock_storageasgiref/local.py:1161 ms1.1%
MembersTest.test_roles_and_the_last_ownerapps/orgs/tests.py:151 owner.refresh_from_db()1 ms1.1%
Model.refresh_from_dbdjango/db/models/base.py:7581 ms1.1%
QuerySet.getdjango/db/models/query.py:6351 ms1.1%
QuerySet.__len__django/db/models/query.py:3721 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.1%
MembersTest.test_roles_and_the_last_ownerapps/orgs/tests.py:1551 ms1.1%
Model.refresh_from_dbdjango/db/models/base.py:7581 ms1.1%
QuerySet.getdjango/db/models/query.py:6351 ms1.1%
QuerySet.__len__django/db/models/query.py:3721 ms1.1%
QuerySet._fetch_alldjango/db/models/query.py:20001 ms1.1%
ModelIterable.__iter__django/db/models/query.py:951 ms1.1%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16241 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()1 ms1.1%
TestCase._fixture_teardowndjango/test/testcases.py:14951 ms1.1%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4831 ms1.1%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.1%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.1%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms1.1%
Cursor.executepsycopg/cursor.py:1131 ms1.1%
Connection.waitpsycopg/connection.py:4951 ms1.1%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.1%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.1%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.1%
teardown4 ms3.8%
TestCase.tearDownClassdjango/test/testcases.py:1455 conn.close()3 ms2.8%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:263 ms2.8%
BaseDatabaseWrapper.closedjango/db/backends/base/base.py:3553 ms2.8%
DatabaseWrapper._closedjango/db/backends/postgresql/base.py:3963 ms2.8%
Connection.closepsycopg/connection.py:2013 ms2.8%
TestCase.tearDownClassdjango/test/testcases.py:1453 cls._rollback_atomics(cls.cls_atomics)0.89 ms0.9%
TestCase._rollback_atomicsdjango/test/testcases.py:14050.89 ms0.9%
Atomic.__exit__django/db/transaction.py:2950.89 ms0.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:260.89 ms0.9%
BaseDatabaseWrapper.rollbackdjango/db/backends/base/base.py:3370.89 ms0.9%
BaseDatabaseWrapper._rollbackdjango/db/backends/base/base.py:3080.89 ms0.9%
Connection.rollbackpsycopg/connection.py:3140.89 ms0.9%
Connection.waitpsycopg/connection.py:4950.89 ms0.9%
BaseConnection._rollback_genpsycopg/_connection_base.py:6170.89 ms0.9%
BaseConnection._exec_commandpsycopg/_connection_base.py:4740.89 ms0.9%
Estimated from 95 samples; phase durations are exact. Frames from pytest and pluggy are hidden .

Hot lines in your code

apps/orgs/tests.py:150
self.client.post(url, {"user": "owner", "action": "member"})
MembersTest.test_roles_and_the_last_owner · Libraries
52 ms
apps/orgs/tests.py:147
self.client.force_login(self.owner)
MembersTest.test_roles_and_the_last_owner · Database
8 ms
apps/orgs/views.py:210
membership = get_object_or_404(Membership, organization=organization, user__username=request.POST.get("user") or "")
membership_update · Database
6 ms
apps/orgs/models.py:62
return user.is_authenticated and self.membership_set.filter(user=user).exists()
Organization.is_member · Database
3 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
3 ms
apps/orgs/tests.py:153
self.client.post(url, {"user": "member", "action": "owner"})
MembersTest.test_roles_and_the_last_owner · Database
3 ms
apps/orgs/views.py:59
organization = get_object_or_404(Organization, slug=org_slug)
member_organization · Database
2 ms
apps/orgs/views.py:216
last_owner = membership.role == Membership.Role.OWNER and owners.count() == 1
membership_update · Database
2 ms
apps/orgs/tests.py:154
self.client.post(url, {"user": "owner", "action": "member"})
MembersTest.test_roles_and_the_last_owner · Database
2 ms
apps/orgs/tests.py:148
owner = Membership.objects.get(user=self.owner)
MembersTest.test_roles_and_the_last_owner · Database
1 ms

Fixtures

Exact setup time
_dj_autoclear_mailbox function 0.20 ms
_live_server_helper function 0.05 ms
_template_string_if_invalid_marker function 0.05 ms
_django_db_marker function 0.05 ms
_django_set_urlconf function 0.04 ms
_django_clear_site_cache function 0.03 ms
monkeypatch function 0.02 ms

Database

45 queries · 15 ms

Repeated queries are usually N+1 lookups: fetch them once with select_related / prefetch_related (or selectinload).

4×
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 "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined" FROM "auth_user" WHERE "a…
3×
SELECT "orgs_organization"."id", "orgs_organization"."name", "orgs_organization"."slug", "orgs_organization"."created_by_id", "orgs_organization"."date_created" FROM "orgs_organization" WHERE "orgs_organization"."slug" = %s LIMIT ?
3×
SELECT %s AS "a" FROM "orgs_membership" WHERE ("orgs_membership"."organization_id" = %s AND "orgs_membership"."user_id" = %s) LIMIT ?
3×
SELECT "orgs_membership"."id", "orgs_membership"."organization_id", "orgs_membership"."user_id", "orgs_membership"."role", "orgs_membership"."date_created" FROM "orgs_membership" INNER JOIN "auth_user" ON ("orgs_membership"."user_id" = "auth_user"."id") WHERE ("orgs_membership"."organization_id" = …

Biggest pieces of work

call test body
apps/orgs/tests.py:150
88 ms
teardown tearDownClass
django/test/testcases.py:1455
4 ms
call _pre_setup
django/test/testcases.py:1164
1 ms
call _post_teardown
django/test/testcases.py:1240
1 ms
setup iscoroutinefunction
<stdlib>/inspect.py:336
0.93 ms

Reliability

12 results · 0 CI failures · 0 local failures

This test hasn't failed recently.

History

Latest 12 results, oldest first in the strip
When Environment Outcome Duration Commit
16 hours ago CI github-actions:test passed 95 ms e141198 main Profile
1 week, 5 days ago CI github-actions:test passed 35 ms 46ec2aa main Profile
2 weeks, 1 day ago CI github-actions:test passed 60 ms afde85b main Profile
2 weeks, 1 day ago CI github-actions:test passed 50 ms fe29f9d main Profile
2 weeks, 1 day ago CI github-actions:test passed 78 ms 044719a main Profile
2 weeks, 2 days ago CI github-actions:test passed 39 ms b3fedae main Profile
2 weeks, 4 days ago CI github-actions:test passed 93 ms 43c4eda main Profile
2 weeks, 6 days ago CI github-actions:test passed 68 ms 9caa567 main Profile
2 weeks, 6 days ago CI github-actions:test passed 67 ms ec75501 main Profile
3 weeks ago CI github-actions:test passed 72 ms d2c12e5 main Profile
3 weeks ago CI github-actions:test passed 43 ms 0b902f6 main Profile
3 weeks ago CI github-actions:test passed 67 ms 78a4357 main Profile