Tests / starter_packs/tests.py
TestOwnerManagement::test_remove_owner
First seen 13 hours ago in 0c23747
CI
github-actions:test
4 runs
Average
181 ms
median 186 ms
max 248 ms
max 248 ms
Phases
Setup 3 ms
Call 178 ms
Teardown 0.35 ms
Categories
Database 42 ms
App code 1 ms
Other (Libraries, Unsampled, Cache, pytest, ...) 138 ms
29 database queries per run
Needs 7 KB of memory (max 28 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, 8 hours ago ·
open run
call104 ms98.6%
TestOwnerManagement.test_remove_ownerstarter_packs/tests.py:621 response = self.client.post(reverse("remove_owner", args=[self.pack.slug, self.friend.id]))88 ms83.1%
Client.postdjango/test/client.py:116288 ms83.1%
RequestFactory.postdjango/test/client.py:49988 ms83.1%
RequestFactory.genericdjango/test/client.py:67188 ms83.1%
Client.requestdjango/test/client.py:109188 ms83.1%
ClientHandler.__call__django/test/client.py:17363 ms59.9%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6363 ms59.9%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10463 ms59.9%
WhiteNoise.add_fileswhitenoise/base.py:10863 ms59.9%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12054 ms51.2%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13152 ms49.3%
WhiteNoise.get_static_filewhitenoise/base.py:21734 ms31.9%
StaticFile.__init__whitenoise/responders.py:7315 ms14.5%
StaticFile.get_headerswhitenoise/responders.py:1767 ms6.8%
formatdate<stdlib>/email/utils.py:2664 ms3.9%
format_datetime<stdlib>/email/utils.py:2752 ms1.9%
format_datetime<stdlib>/email/utils.py:2842 ms1.9%
_format_timetuple_and_zone<stdlib>/email/utils.py:2311 ms1.0%
_format_timetuple_and_zone<stdlib>/email/utils.py:2331 ms1.0%
Headers.__setitem__<stdlib>/wsgiref/headers.py:622 ms1.9%
Headers.__delitem__<stdlib>/wsgiref/headers.py:722 ms1.9%
Headers.__setitem__<stdlib>/wsgiref/headers.py:641 ms1.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.0%
StaticFile.get_headerswhitenoise/responders.py:1702 ms1.9%
Headers.__setitem__<stdlib>/wsgiref/headers.py:642 ms1.9%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:502 ms1.9%
StaticFile.get_headerswhitenoise/responders.py:1812 ms1.9%
Headers.__setitem__<stdlib>/wsgiref/headers.py:622 ms1.9%
Headers.__delitem__<stdlib>/wsgiref/headers.py:722 ms1.9%
StaticFile.get_headerswhitenoise/responders.py:1771 ms1.0%
Headers.__contains__<stdlib>/wsgiref/headers.py:871 ms1.0%
Headers.get<stdlib>/wsgiref/headers.py:1061 ms1.0%
StaticFile.get_headerswhitenoise/responders.py:1781 ms1.0%
parsedate<stdlib>/email/_parseaddr.py:1851 ms1.0%
parsedate_tz<stdlib>/email/_parseaddr.py:501 ms1.0%
_parsedate_tz<stdlib>/email/_parseaddr.py:1621 ms1.0%
StaticFile.get_headerswhitenoise/responders.py:1801 ms1.0%
StaticFile.get_headerswhitenoise/responders.py:1671 ms1.0%
__init____init__:-11 ms1.0%
Headers.__init__<stdlib>/wsgiref/headers.py:401 ms1.0%
StaticFile.__init__whitenoise/responders.py:776 ms5.8%
StaticFile.get_alternativeswhitenoise/responders.py:2004 ms3.9%
__init____init__:-14 ms3.9%
Headers.__init__<stdlib>/wsgiref/headers.py:443 ms2.9%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:503 ms2.9%
Headers.__init__<stdlib>/wsgiref/headers.py:361 ms1.0%
<GC>~1 ms1.0%
StaticFile.get_alternativeswhitenoise/responders.py:2011 ms1.0%
Headers.__setitem__<stdlib>/wsgiref/headers.py:641 ms1.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.0%
StaticFile.get_alternativeswhitenoise/responders.py:1981 ms1.0%
StaticFile.__init__whitenoise/responders.py:765 ms4.8%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1883 ms2.9%
Headers.__contains__<stdlib>/wsgiref/headers.py:873 ms2.9%
Headers.get<stdlib>/wsgiref/headers.py:1052 ms1.9%
Headers.get<stdlib>/wsgiref/headers.py:1041 ms1.0%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:501 ms1.0%
StaticFile.get_not_modified_responsewhitenoise/responders.py:1892 ms1.9%
Headers.__getitem__<stdlib>/wsgiref/headers.py:832 ms1.9%
Headers.get<stdlib>/wsgiref/headers.py:1062 ms1.9%
StaticFile.__init__whitenoise/responders.py:724 ms3.9%
StaticFile.get_file_statswhitenoise/responders.py:1613 ms2.9%
__init____init__:-13 ms2.9%
FileEntry.__init__whitenoise/responders.py:2633 ms2.9%
FileEntry.stat_regular_filewhitenoise/responders.py:2762 ms1.9%
<GC>~2 ms1.9%
FileEntry.stat_regular_filewhitenoise/responders.py:2741 ms1.0%
StaticFile.get_file_statswhitenoise/responders.py:1591 ms1.0%
StaticFile.__init__whitenoise/responders.py:743 ms2.9%
parsedate<stdlib>/email/_parseaddr.py:1852 ms1.9%
parsedate_tz<stdlib>/email/_parseaddr.py:502 ms1.9%
_parsedate_tz<stdlib>/email/_parseaddr.py:1052 ms1.9%
Headers.__getitem__<stdlib>/wsgiref/headers.py:831 ms1.0%
Headers.get<stdlib>/wsgiref/headers.py:1061 ms1.0%
WhiteNoise.get_static_filewhitenoise/base.py:21213 ms12.6%
WhiteNoise.add_cache_headerswhitenoise/base.py:23313 ms12.6%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1769 ms8.7%
WhiteNoiseMiddleware.get_static_urlwhitenoise/middleware.py:1979 ms8.7%
URLMixin.urldebug_toolbar/panels/staticfiles.py:209 ms8.7%
HashedFilesMixin.urldjango/contrib/staticfiles/storage.py:2359 ms8.7%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:2144 ms3.9%
ManifestFilesMixin.stored_namedjango/contrib/staticfiles/storage.py:6113 ms2.9%
urlunsplit<stdlib>/urllib/parse.py:6662 ms1.9%
urlunsplit<stdlib>/urllib/parse.py:6651 ms1.0%
_coerce_args<stdlib>/urllib/parse.py:1281 ms1.0%
ManifestFilesMixin.stored_namedjango/contrib/staticfiles/storage.py:5971 ms1.0%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:2082 ms1.9%
urlsplit<stdlib>/urllib/parse.py:5821 ms1.0%
_urlsplit<stdlib>/urllib/parse.py:6221 ms1.0%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:2162 ms1.9%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2071 ms1.0%
urljoin<stdlib>/urllib/parse.py:7081 ms1.0%
FileSystemStorage.urldjango/core/files/storage/filesystem.py:2041 ms1.0%
filepath_to_uridjango/utils/encoding.py:2451 ms1.0%
quote<stdlib>/urllib/parse.py:10721 ms1.0%
quote_from_bytes<stdlib>/urllib/parse.py:11011 ms1.0%
HashedFilesMixin._urldjango/contrib/staticfiles/storage.py:2071 ms1.0%
urldefrag<stdlib>/urllib/parse.py:7841 ms1.0%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1733 ms2.9%
WhiteNoiseMiddleware.get_name_without_hashwhitenoise/middleware.py:1922 ms1.9%
splitext<frozen posixpath>:1201 ms1.0%
WhiteNoiseMiddleware.get_name_without_hashwhitenoise/middleware.py:1911 ms1.0%
splitext<frozen posixpath>:1261 ms1.0%
WhiteNoiseMiddleware.immutable_file_testwhitenoise/middleware.py:1801 ms1.0%
basename<frozen posixpath>:1701 ms1.0%
_get_sep<frozen posixpath>:441 ms1.0%
WhiteNoise.get_static_filewhitenoise/base.py:2114 ms3.9%
WhiteNoise.add_mime_headerswhitenoise/base.py:2303 ms2.9%
Headers.add_header<stdlib>/wsgiref/headers.py:1922 ms1.9%
Headers._convert_string_type<stdlib>/wsgiref/headers.py:502 ms1.9%
Headers.add_header<stdlib>/wsgiref/headers.py:1831 ms1.0%
WhiteNoise.add_mime_headerswhitenoise/base.py:2251 ms1.0%
MediaTypes.get_typewhitenoise/media_types.py:161 ms1.0%
WhiteNoise.get_static_filewhitenoise/base.py:2211 ms1.0%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:1252 ms1.9%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1157 ms6.8%
scantreewhitenoise/base.py:2716 ms5.8%
scantreewhitenoise/base.py:2715 ms4.8%
scantreewhitenoise/base.py:2713 ms2.9%
scantreewhitenoise/base.py:2713 ms2.9%
scantreewhitenoise/base.py:2713 ms2.9%
scantreewhitenoise/base.py:2732 ms1.9%
scantreewhitenoise/base.py:2691 ms1.0%
scantreewhitenoise/base.py:2731 ms1.0%
scantreewhitenoise/base.py:2691 ms1.0%
scantreewhitenoise/base.py:2731 ms1.0%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1181 ms1.0%
ClientHandler.__call__django/test/client.py:18624 ms23.2%
BaseHandler.get_responsedjango/core/handlers/base.py:14224 ms23.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5624 ms23.2%
MiddlewareMixin.__call__django/utils/deprecation.py:38024 ms23.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5624 ms23.2%
MiddlewareMixin.__call__django/utils/deprecation.py:38024 ms23.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5624 ms23.2%
MiddlewareMixin.__call__django/utils/deprecation.py:38024 ms23.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5624 ms23.2%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12324 ms23.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5624 ms23.2%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:14524 ms23.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5624 ms23.2%
MiddlewareMixin.__call__django/utils/deprecation.py:38024 ms23.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5624 ms23.2%
MiddlewareMixin.__call__django/utils/deprecation.py:38024 ms23.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5624 ms23.2%
MiddlewareMixin.__call__django/utils/deprecation.py:38024 ms23.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5624 ms23.2%
MiddlewareMixin.__call__django/utils/deprecation.py:38024 ms23.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5624 ms23.2%
MiddlewareMixin.__call__django/utils/deprecation.py:38024 ms23.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5624 ms23.2%
MiddlewareMixin.__call__django/utils/deprecation.py:38024 ms23.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5624 ms23.2%
MiddlewareMixin.__call__django/utils/deprecation.py:38024 ms23.2%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5624 ms23.2%
BaseHandler._get_responsedjango/core/handlers/base.py:19924 ms23.2%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:6324 ms23.2%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:6220 ms19.3%
remove_ownerstarter_packs/views.py:520 return render(request, "owners_updated.html", owners_manager_context(starter_pack, q))13 ms12.6%
owners_manager_contextstarter_packs/views.py:417 owners = list(starter_pack.owners.select_related("accountaccess__account").order_by("username"))5 ms4.8%
QuerySet.__iter__django/db/models/query.py:4394 ms3.9%
QuerySet._fetch_alldjango/db/models/query.py:22624 ms3.9%
ModelIterable.__iter__django/db/models/query.py:1034 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16253 ms2.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms2.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms2.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms2.9%
Cursor.executepsycopg/cursor.py:1133 ms2.9%
Connection.waitpsycopg/connection.py:4953 ms2.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:2051 ms1.0%
BaseCursor._convert_querypsycopg/_cursor_base.py:4651 ms1.0%
PostgresClientQuery.convertpsycopg/_queries.py:2841 ms1.0%
_query2pg_client_nocachepsycopg/_queries.py:3291 ms1.0%
_split_querypsycopg/_queries.py:4251 ms1.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16121 ms1.0%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7681 ms1.0%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:901 ms1.0%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4911 ms1.0%
SQLCompiler._order_by_pairsdjango/db/models/sql/compiler.py:3641 ms1.0%
Expression.__hash__django/db/models/expressions.py:5621 ms1.0%
cached_property.__get__django/utils/functional.py:471 ms1.0%
Expression.identitydjango/db/models/expressions.py:5431 ms1.0%
Signature.bind_partial<stdlib>/inspect.py:32601 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.0%
QuerySet.select_relateddjango/db/models/query.py:17881 ms1.0%
QuerySet._not_support_combined_queriesdjango/db/models/query.py:23361 ms1.0%
QuerySet.querydjango/db/models/query.py:3551 ms1.0%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:17041 ms1.0%
Query.add_qdjango/db/models/sql/query.py:16811 ms1.0%
Query._add_qdjango/db/models/sql/query.py:17131 ms1.0%
Query.build_filterdjango/db/models/sql/query.py:15861 ms1.0%
owners_manager_contextstarter_packs/views.py:418 invitations = list(4 ms3.9%
QuerySet.__iter__django/db/models/query.py:4394 ms3.9%
QuerySet._fetch_alldjango/db/models/query.py:22624 ms3.9%
ModelIterable.__iter__django/db/models/query.py:1034 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16253 ms2.9%
CursorWrapper.executedjango/db/backends/utils.py:793 ms2.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:923 ms2.9%
CursorWrapper._executedjango/db/backends/utils.py:1053 ms2.9%
Cursor.executepsycopg/cursor.py:1133 ms2.9%
Connection.waitpsycopg/connection.py:4953 ms2.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:2051 ms1.0%
BaseCursor._convert_querypsycopg/_cursor_base.py:4651 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16121 ms1.0%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7681 ms1.0%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:891 ms1.0%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:781 ms1.0%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3101 ms1.0%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:12671 ms1.0%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:13231 ms1.0%
SQLCompiler.get_related_selectionsdjango/db/models/sql/compiler.py:12601 ms1.0%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10311 ms1.0%
Field.get_coldjango/db/models/fields/__init__.py:5791 ms1.0%
renderdjango/shortcuts.py:282 ms1.9%
HttpResponse.__init__django/http/response.py:3892 ms1.9%
HttpResponse.contentdjango/http/response.py:4212 ms1.9%
HttpResponseBase.make_bytesdjango/http/response.py:3292 ms1.9%
HttpResponseBase.charsetdjango/http/response.py:1712 ms1.9%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2502 ms1.9%
LazyObject.__getattribute__django/utils/functional.py:2792 ms1.9%
owners_manager_contextstarter_packs/views.py:419 starter_pack.invitations.select_related("invited_user__accountaccess__account").order_by("created_at")1 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.0%
QuerySet.select_relateddjango/db/models/query.py:17881 ms1.0%
QuerySet._not_support_combined_queriesdjango/db/models/query.py:23361 ms1.0%
QuerySet.querydjango/db/models/query.py:3551 ms1.0%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:17041 ms1.0%
Query.add_qdjango/db/models/sql/query.py:16811 ms1.0%
Query._add_qdjango/db/models/sql/query.py:17131 ms1.0%
Query.build_filterdjango/db/models/sql/query.py:15601 ms1.0%
renderdjango/shortcuts.py:271 ms1.0%
render_to_stringdjango/template/loader.py:621 ms1.0%
Template.renderdjango/template/backends/django.py:1071 ms1.0%
Template.renderdjango/template/base.py:1751 ms1.0%
instrumented_test_renderdjango/test/utils.py:1131 ms1.0%
NodeList.renderdjango/template/base.py:11081 ms1.0%
Node.render_annotateddjango/template/base.py:10691 ms1.0%
IncludeNode.renderdjango/template/loader_tags.py:2001 ms1.0%
Engine.select_templatedjango/template/engine.py:2281 ms1.0%
Engine.get_templatedjango/template/engine.py:1861 ms1.0%
Engine.find_templatedjango/template/engine.py:1591 ms1.0%
Loader.get_templatedjango/template/loaders/cached.py:571 ms1.0%
Loader.get_templatedjango/template/loaders/base.py:281 ms1.0%
__init____init__:-11 ms1.0%
Template.__init__django/template/base.py:1581 ms1.0%
Template.compile_nodelistdjango/template/base.py:1911 ms1.0%
_create_smart_tokenize.<locals>.smart_tokenizedjango_cotton/nested_tag_support.py:401 ms1.0%
DebugLexer.tokenizedjango/template/base.py:4941 ms1.0%
remove_ownerstarter_packs/views.py:507 if starter_pack.owners.count() <= 1:4 ms3.9%
create_forward_many_to_many_manager.<locals>.ManyRelatedManager.countdjango/db/models/fields/related_descriptors.py:12964 ms3.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:874 ms3.9%
QuerySet.countdjango/db/models/query.py:6774 ms3.9%
Query.get_countdjango/db/models/sql/query.py:6574 ms3.9%
Query.get_aggregationdjango/db/models/sql/query.py:6394 ms3.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16123 ms2.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7933 ms2.9%
SQLCompiler.get_from_clausedjango/db/models/sql/compiler.py:11603 ms2.9%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5793 ms2.9%
Join.as_sqldjango/db/models/sql/datastructures.py:883 ms2.9%
DatabaseOperations.prepare_join_on_clausedjango/db/backends/postgresql/operations.py:4023 ms2.9%
ForeignKey.db_typedjango/db/models/fields/related.py:13093 ms2.9%
AutoField.rel_db_typedjango/db/models/fields/__init__.py:29693 ms2.9%
Field.__init__django/db/models/fields/__init__.py:2623 ms2.9%
Field.choicesdjango/db/models/fields/__init__.py:5903 ms2.9%
normalize_choicesdjango/utils/choices.py:753 ms2.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.0%
Cursor.executepsycopg/cursor.py:1131 ms1.0%
Connection.waitpsycopg/connection.py:4951 ms1.0%
remove_ownerstarter_packs/views.py:5052 ms1.9%
get_editable_packstarter_packs/views.py:60 return get_object_or_404(StarterPack, slug=slug, owners=request.user, **extra)2 ms1.9%
get_object_or_404django/shortcuts.py:1002 ms1.9%
QuerySet.getdjango/db/models/query.py:7022 ms1.9%
QuerySet.__len__django/db/models/query.py:4212 ms1.9%
QuerySet._fetch_alldjango/db/models/query.py:22622 ms1.9%
ModelIterable.__iter__django/db/models/query.py:1032 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16122 ms1.9%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7962 ms1.9%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5792 ms1.9%
WhereNode.as_sqldjango/db/models/sql/where.py:1512 ms1.9%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5792 ms1.9%
IsNull.as_sqldjango/db/models/lookups.py:6812 ms1.9%
BuiltinLookup.process_lhsdjango/db/models/lookups.py:2352 ms1.9%
Lookup.process_lhsdjango/db/models/lookups.py:1102 ms1.9%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5752 ms1.9%
remove_ownerstarter_packs/views.py:512 starter_pack.owners.remove(user_id)1 ms1.0%
create_forward_many_to_many_manager.<locals>.ManyRelatedManager.removedjango/db/models/fields/related_descriptors.py:13441 ms1.0%
create_forward_many_to_many_manager.<locals>.ManyRelatedManager._remove_basedjango/db/models/fields/related_descriptors.py:13371 ms1.0%
create_forward_many_to_many_manager.<locals>.ManyRelatedManager._remove_itemsdjango/db/models/fields/related_descriptors.py:16991 ms1.0%
QuerySet.deletedjango/db/models/query.py:13571 ms1.0%
Collector.deletedjango/db/models/deletion.py:5021 ms1.0%
QuerySet._raw_deletedjango/db/models/query.py:13791 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.0%
Cursor.executepsycopg/cursor.py:1131 ms1.0%
Connection.waitpsycopg/connection.py:4951 ms1.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.0%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:594 ms3.9%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:824 ms3.9%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2514 ms3.9%
SimpleLazyObject._setupdjango/utils/functional.py:4044 ms3.9%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:394 ms3.9%
get_userdjango/contrib/auth/middleware.py:194 ms3.9%
get_userdjango/contrib/auth/__init__.py:2873 ms2.9%
_get_user_session_keydjango/contrib/auth/__init__.py:1113 ms2.9%
SessionBase.__getitem__django/contrib/sessions/backends/base.py:553 ms2.9%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2543 ms2.9%
SessionStore.loaddjango/contrib/sessions/backends/db.py:553 ms2.9%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:343 ms2.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:873 ms2.9%
QuerySet.getdjango/db/models/query.py:6922 ms1.9%
QuerySet.filterdjango/db/models/query.py:16762 ms1.9%
QuerySet._filter_or_excludedjango/db/models/query.py:16942 ms1.9%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:17042 ms1.9%
QuerySet.getdjango/db/models/query.py:7021 ms1.0%
QuerySet.__len__django/db/models/query.py:4211 ms1.0%
QuerySet._fetch_alldjango/db/models/query.py:22621 ms1.0%
ModelIterable.__iter__django/db/models/query.py:1031 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.0%
Cursor.executepsycopg/cursor.py:1131 ms1.0%
Connection.waitpsycopg/connection.py:4951 ms1.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.0%
get_userdjango/contrib/auth/__init__.py:2941 ms1.0%
ModelBackend.get_userdjango/contrib/auth/backends.py:2371 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.0%
QuerySet.getdjango/db/models/query.py:7021 ms1.0%
QuerySet.__len__django/db/models/query.py:4211 ms1.0%
QuerySet._fetch_alldjango/db/models/query.py:22621 ms1.0%
ModelIterable.__iter__django/db/models/query.py:1031 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16121 ms1.0%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7681 ms1.0%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:891 ms1.0%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:781 ms1.0%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3191 ms1.0%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5791 ms1.0%
Col.as_sqldjango/db/models/expressions.py:13691 ms1.0%
SQLCompiler.quote_namedjango/db/models/sql/compiler.py:5581 ms1.0%
DatabaseOperations.quote_namedjango/db/backends/postgresql/operations.py:1921 ms1.0%
TestOwnerManagement.test_remove_ownerstarter_packs/tests.py:620 self.client.force_login(self.owner)11 ms10.6%
ClientMixin.force_logindjango/test/client.py:85811 ms10.6%
ClientMixin._logindjango/test/client.py:8896 ms5.8%
logindjango/contrib/auth/__init__.py:1894 ms3.9%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms1.9%
SessionStore.createdjango/contrib/sessions/backends/db.py:701 ms1.0%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:2011 ms1.0%
SessionStore.existsdjango/contrib/sessions/backends/db.py:631 ms1.0%
QuerySet.existsdjango/db/models/query.py:14581 ms1.0%
Query.has_resultsdjango/db/models/sql/query.py:6871 ms1.0%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15931 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16121 ms1.0%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7901 ms1.0%
SQLCompiler.get_distinctdjango/db/models/sql/compiler.py:10461 ms1.0%
SessionStore.createdjango/contrib/sessions/backends/db.py:741 ms1.0%
SessionStore.savedjango/contrib/sessions/backends/db.py:1271 ms1.0%
Model.savedjango/db/models/base.py:9041 ms1.0%
Model.save_basedjango/db/models/base.py:9961 ms1.0%
Model._save_tabledjango/db/models/base.py:11991 ms1.0%
Model._do_insertdjango/db/models/base.py:12511 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.0%
QuerySet._insertdjango/db/models/query.py:21411 ms1.0%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19361 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.0%
Cursor.executepsycopg/cursor.py:1131 ms1.0%
Connection.waitpsycopg/connection.py:4951 ms1.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.0%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4402 ms1.9%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms1.9%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.0%
QuerySet.getdjango/db/models/query.py:7021 ms1.0%
QuerySet.__len__django/db/models/query.py:4211 ms1.0%
QuerySet._fetch_alldjango/db/models/query.py:22621 ms1.0%
ModelIterable.__iter__django/db/models/query.py:1031 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16121 ms1.0%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7681 ms1.0%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:891 ms1.0%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:781 ms1.0%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2651 ms1.0%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10101 ms1.0%
Model.deletedjango/db/models/base.py:13311 ms1.0%
Collector.deletedjango/db/models/deletion.py:4831 ms1.0%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:431 ms1.0%
DeleteQuery.do_querydjango/db/models/sql/subqueries.py:251 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16121 ms1.0%
logindjango/contrib/auth/__init__.py:1771 ms1.0%
SessionBase.__contains__django/contrib/sessions/backends/base.py:521 ms1.0%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2541 ms1.0%
SessionStore.loaddjango/contrib/sessions/backends/db.py:551 ms1.0%
SessionStore._get_session_from_dbdjango/contrib/sessions/backends/db.py:341 ms1.0%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:871 ms1.0%
QuerySet.getdjango/db/models/query.py:7021 ms1.0%
QuerySet.__len__django/db/models/query.py:4211 ms1.0%
QuerySet._fetch_alldjango/db/models/query.py:22621 ms1.0%
ModelIterable.__iter__django/db/models/query.py:1031 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16251 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1051 ms1.0%
Cursor.executepsycopg/cursor.py:1131 ms1.0%
Connection.waitpsycopg/connection.py:4951 ms1.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.0%
logindjango/contrib/auth/__init__.py:1981 ms1.0%
Signal.senddjango/dispatch/dispatcher.py:2491 ms1.0%
update_last_logindjango/contrib/auth/models.py:241 ms1.0%
AbstractBaseUser.savedjango/contrib/auth/base_user.py:621 ms1.0%
Model.savedjango/db/models/base.py:9041 ms1.0%
Model.save_basedjango/db/models/base.py:9961 ms1.0%
Model._save_tabledjango/db/models/base.py:11401 ms1.0%
Model._do_updatedjango/db/models/base.py:12441 ms1.0%
QuerySet._updatedjango/db/models/query.py:14481 ms1.0%
SQLUpdateCompiler.execute_returning_sqldjango/db/models/sql/compiler.py:21501 ms1.0%
SQLUpdateCompiler.execute_sqldjango/db/models/sql/compiler.py:21211 ms1.0%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16231 ms1.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.0%
BaseDatabaseWrapper.cursordjango/db/backends/base/base.py:3201 ms1.0%
BaseDatabaseWrapper._cursordjango/db/backends/base/base.py:2981 ms1.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.0%
DatabaseWrapper.create_cursordjango/db/backends/postgresql/base.py:4421 ms1.0%
Connection.cursorpsycopg/connection.py:2591 ms1.0%
Cursor.__init__psycopg/cursor.py:471 ms1.0%
BaseCursor.__init__psycopg/_cursor_base.py:651 ms1.0%
__init____init__:-11 ms1.0%
AdaptersMap.__init__psycopg/_adapters_map.py:801 ms1.0%
ClientMixin._logindjango/test/client.py:8844 ms3.9%
ClientMixin.sessiondjango/test/client.py:8154 ms3.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1214 ms3.9%
SessionStore.createdjango/contrib/sessions/backends/db.py:743 ms2.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms1.9%
Atomic.__exit__django/db/transaction.py:2592 ms1.9%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms1.9%
BaseDatabaseWrapper.savepoint_commitdjango/db/backends/base/base.py:4312 ms1.9%
BaseDatabaseWrapper._savepoint_commitdjango/db/backends/base/base.py:3752 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.9%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.9%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.9%
SessionStore.savedjango/contrib/sessions/backends/db.py:1231 ms1.0%
SessionStore.create_model_instancedjango/contrib/sessions/backends/db.py:1031 ms1.0%
SessionBase.get_expiry_datedjango/contrib/sessions/backends/base.py:3331 ms1.0%
SessionBase.getdjango/contrib/sessions/backends/base.py:771 ms1.0%
SessionBase._get_sessiondjango/contrib/sessions/backends/base.py:2471 ms1.0%
SessionStore.createdjango/contrib/sessions/backends/db.py:701 ms1.0%
SessionBase._get_new_session_keydjango/contrib/sessions/backends/base.py:2011 ms1.0%
SessionStore.existsdjango/contrib/sessions/backends/db.py:631 ms1.0%
QuerySet.existsdjango/db/models/query.py:14581 ms1.0%
Query.has_resultsdjango/db/models/sql/query.py:6851 ms1.0%
Query.existsdjango/db/models/sql/query.py:6811 ms1.0%
Query.add_annotationdjango/db/models/sql/query.py:12431 ms1.0%
Value.resolve_expressiondjango/db/models/expressions.py:12081 ms1.0%
BaseExpression.resolve_expressiondjango/db/models/expressions.py:2971 ms1.0%
BaseExpression.copydjango/db/models/expressions.py:4441 ms1.0%
copy<stdlib>/copy.py:901 ms1.0%
BaseExpression.__getstate__django/db/models/expressions.py:1981 ms1.0%
ClientMixin._logindjango/test/client.py:8911 ms1.0%
SessionStore.savedjango/contrib/sessions/backends/db.py:1261 ms1.0%
Atomic.__enter__django/db/transaction.py:2231 ms1.0%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:261 ms1.0%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4001 ms1.0%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3671 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms1.0%
Cursor.executepsycopg/cursor.py:1131 ms1.0%
Connection.waitpsycopg/connection.py:4951 ms1.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:3121 ms1.0%
TestOwnerManagement.test_remove_ownerstarter_packs/tests.py:619 self.pack.owners.add(self.friend)2 ms1.9%
create_forward_many_to_many_manager.<locals>.ManyRelatedManager.adddjango/db/models/fields/related_descriptors.py:13242 ms1.9%
create_forward_many_to_many_manager.<locals>.ManyRelatedManager._add_basedjango/db/models/fields/related_descriptors.py:13012 ms1.9%
create_forward_many_to_many_manager.<locals>.ManyRelatedManager._add_itemsdjango/db/models/fields/related_descriptors.py:16032 ms1.9%
QuerySet.bulk_createdjango/db/models/query.py:9002 ms1.9%
QuerySet._batched_insertdjango/db/models/query.py:21792 ms1.9%
QuerySet._insertdjango/db/models/query.py:21412 ms1.9%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19362 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms1.9%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms1.9%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms1.9%
TestOwnerManagement.test_remove_ownerstarter_packs/tests.py:623 self.assertFalse(self.pack.owners.filter(pk=self.friend.pk).exists())2 ms1.9%
QuerySet.existsdjango/db/models/query.py:14582 ms1.9%
Query.has_resultsdjango/db/models/sql/query.py:6872 ms1.9%
SQLCompiler.has_resultsdjango/db/models/sql/compiler.py:15932 ms1.9%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16252 ms1.9%
CursorWrapper.executedjango/db/backends/utils.py:792 ms1.9%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms1.9%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms1.9%
Cursor.executepsycopg/cursor.py:1132 ms1.9%
Connection.waitpsycopg/connection.py:4952 ms1.9%
TransactionTestCase._post_teardowndjango/test/testcases.py:1243 self._fixture_teardown()1 ms1.0%
TestCase._fixture_teardowndjango/test/testcases.py:14981 ms1.0%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4951 ms1.0%
CursorWrapper.executedjango/db/backends/utils.py:791 ms1.0%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:921 ms1.0%
CursorWrapper._executedjango/db/backends/utils.py:1031 ms1.0%
Cursor.executepsycopg/cursor.py:1131 ms1.0%
Connection.waitpsycopg/connection.py:4951 ms1.0%
BaseCursor._execute_genpsycopg/_cursor_base.py:2061 ms1.0%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2861 ms1.0%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:781 ms1.0%
Estimated from 102 samples; phase durations are exact. Frames from pytest and pluggy are
hidden
.
Hot lines in your code
|
starter_packs/tests.py:621
response = self.client.post(reverse("remove_owner", args=[self.pack.slug, self.friend.id]))
TestOwnerManagement.test_remove_owner
· Libraries
|
67 ms |
|
starter_packs/tests.py:620
self.client.force_login(self.owner)
TestOwnerManagement.test_remove_owner
· Database
|
11 ms |
|
starter_packs/views.py:417
owners = list(starter_pack.owners.select_related("accountaccess__account").order_by("username"))
owners_manager_context
· Database
|
5 ms |
|
starter_packs/views.py:507
if starter_pack.owners.count() <= 1:
remove_owner
· Database
|
4 ms |
|
starter_packs/views.py:418
invitations = list(
owners_manager_context
· Database
|
4 ms |
|
starter_packs/views.py:520
return render(request, "owners_updated.html", owners_manager_context(starter_pack, q))
remove_owner
· Libraries
|
3 ms |
|
starter_packs/tests.py:619
self.pack.owners.add(self.friend)
TestOwnerManagement.test_remove_owner
· Database
|
2 ms |
|
starter_packs/views.py:60
return get_object_or_404(StarterPack, slug=slug, owners=request.user, **extra)
get_editable_pack
· Database
|
2 ms |
|
starter_packs/tests.py:623
self.assertFalse(self.pack.owners.filter(pk=self.friend.pk).exists())
TestOwnerManagement.test_remove_owner
· Database
|
2 ms |
|
starter_packs/views.py:512
starter_pack.owners.remove(user_id)
remove_owner
· Database
|
1 ms |
Fixtures
Exact setup time| _dj_autoclear_mailbox function | 0.14 ms |
| _template_string_if_invalid_marker function | 0.05 ms |
| _django_db_marker function | 0.03 ms |
| _django_set_urlconf function | 0.03 ms |
| _django_isolate_apps function | 0.03 ms |
| _live_server_helper function | 0.03 ms |
| _django_clear_site_cache function | 0.02 ms |
| monkeypatch function | 0.02 ms |
Database
29 queries · 18 msNo repeated queries.
Biggest pieces of work
|
call test body
starter_packs/tests.py:621
|
103 ms |
|
call _post_teardown
django/test/testcases.py:1243
|
1 ms |
Reliability
5 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 5 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| 8 hours ago | CI github-actions:test | passed | 106 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 186 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 248 ms | Profile |
| 13 hours ago | CI github-actions:test | passed | 185 ms | Profile |
| 13 hours ago | CI github-actions:test | passed | 85 ms | Run |