CI
github-actions:test
5 runs
Average
69 ms
median 75 ms
max 81 ms
max 81 ms
Phases
Setup 0.71 ms
Call 68 ms
Teardown 0.18 ms
Categories
Database 47 ms
Other (Libraries, Unsampled, pytest) 22 ms
48 database queries per run
Needs 380 KB of memory (max 576 KB)
Duration per run
Where the time goes
Latest run in ci:github-actions:test, an hour ago ·
open run
setup0.86 ms1.1%
CallInfo.from_call_pytest/runner.py:3530.86 ms1.1%
call_and_report.<locals>.<lambda>_pytest/runner.py:2450.86 ms1.1%
HookCaller.__call__pluggy/_hooks.py:5120.86 ms1.1%
PluginManager._hookexecpluggy/_manager.py:1200.86 ms1.1%
_multicallpluggy/_callers.py:1210.86 ms1.1%
pytest_runtest_setup_pytest/runner.py:1650.86 ms1.1%
SetupState.setup_pytest/runner.py:5230.86 ms1.1%
TestCaseFunction.setup_pytest/unittest.py:2270.86 ms1.1%
Function.setup_pytest/python.py:17230.86 ms1.1%
TopRequest._fillfixtures_pytest/fixtures.py:7070.86 ms1.1%
FixtureRequest.getfixturevalue_pytest/fixtures.py:5390.86 ms1.1%
FixtureRequest._get_active_fixturedef_pytest/fixtures.py:6270.86 ms1.1%
FixtureDef.execute_pytest/fixtures.py:11100.86 ms1.1%
HookCaller.__call__pluggy/_hooks.py:5120.86 ms1.1%
PluginManager._hookexecpluggy/_manager.py:1200.86 ms1.1%
_multicallpluggy/_callers.py:1520.86 ms1.1%
call74 ms98.6%
CallInfo.from_call_pytest/runner.py:35374 ms98.6%
call_and_report.<locals>.<lambda>_pytest/runner.py:24574 ms98.6%
HookCaller.__call__pluggy/_hooks.py:51274 ms98.6%
PluginManager._hookexecpluggy/_manager.py:12074 ms98.6%
_multicallpluggy/_callers.py:12174 ms98.6%
pytest_runtest_call_pytest/runner.py:17974 ms98.6%
_django_setup_unittest.<locals>.non_debugging_runtestpytest_django/plugin.py:57374 ms98.6%
SimpleTestCase.__call__django/test/testcases.py:31374 ms98.6%
SimpleTestCase._setup_and_calldjango/test/testcases.py:36870 ms92.3%
TestCase.__call__<stdlib>/unittest/case.py:74770 ms92.3%
TestCase.run<stdlib>/unittest/case.py:69162 ms82.7%
TestCase._callTestMethod<stdlib>/unittest/case.py:63762 ms82.7%
SettingsTest.test_deleteapps/orgs/tests.py:178 response = self.client.post(reverse("org_delete", args=["acme"]), {"confirm": "nope"})38 ms50.9%
Client.postdjango/test/client.py:115336 ms47.7%
RequestFactory.postdjango/test/client.py:49936 ms47.7%
RequestFactory.genericdjango/test/client.py:67136 ms47.7%
Client.requestdjango/test/client.py:108236 ms47.7%
ClientHandler.__call__django/test/client.py:17331 ms41.4%
BaseHandler.load_middlewaredjango/core/handlers/base.py:6231 ms41.4%
WhiteNoiseMiddleware.__init__whitenoise/middleware.py:10431 ms41.4%
WhiteNoise.add_fileswhitenoise/base.py:10831 ms41.4%
WhiteNoise.update_files_dictionarywhitenoise/base.py:12026 ms35.0%
WhiteNoise.add_file_to_dictionarywhitenoise/base.py:13124 ms31.8%
WhiteNoise.get_static_filewhitenoise/base.py:20822 ms28.6%
StaticFile.__init__whitenoise/responders.py:7210 ms12.7%
StaticFile.get_file_statswhitenoise/responders.py:16310 ms12.7%
<GC>~10 ms12.7%
StaticFile.__init__whitenoise/responders.py:737 ms9.5%
StaticFile.get_headerswhitenoise/responders.py:1762 ms3.2%
formatdate<stdlib>/email/utils.py:2662 ms3.2%
StaticFile.get_headerswhitenoise/responders.py:1782 ms3.2%
parsedate<stdlib>/email/_parseaddr.py:1852 ms3.2%
StaticFile.__init__whitenoise/responders.py:772 ms3.2%
StaticFile.get_alternativeswhitenoise/responders.py:1982 ms3.2%
StaticFile.get_alternatives.<locals>.<lambda>whitenoise/responders.py:1982 ms3.2%
<GC>~2 ms3.2%
StaticFile.__init__whitenoise/responders.py:742 ms3.2%
parsedate<stdlib>/email/_parseaddr.py:1852 ms3.2%
WhiteNoise.get_static_filewhitenoise/base.py:2022 ms3.2%
WhiteNoise.update_files_dictionarywhitenoise/base.py:1155 ms6.4%
scantreewhitenoise/base.py:2625 ms6.4%
scantreewhitenoise/base.py:2625 ms6.4%
scantreewhitenoise/base.py:2625 ms6.4%
scantreewhitenoise/base.py:2625 ms6.4%
scantreewhitenoise/base.py:2642 ms3.2%
scantreewhitenoise/base.py:2622 ms3.2%
scantreewhitenoise/base.py:2642 ms3.2%
ClientHandler.__call__django/test/client.py:1865 ms6.4%
BaseHandler.get_responsedjango/core/handlers/base.py:1415 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms6.4%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:1305 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms6.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms6.4%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:1235 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms6.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms6.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms6.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms6.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms6.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms6.4%
MiddlewareMixin.__call__django/utils/deprecation.py:3095 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms6.4%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:345 ms6.4%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:555 ms6.4%
BaseHandler._get_responsedjango/core/handlers/base.py:1985 ms6.4%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:595 ms6.4%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:645 ms6.4%
org_deleteapps/orgs/views.py:3035 ms6.4%
member_organizationapps/orgs/views.py:59 organization = get_object_or_404(Organization, slug=org_slug)2 ms3.2%
get_object_or_404django/shortcuts.py:802 ms3.2%
_get_querysetdjango/shortcuts.py:652 ms3.2%
BaseManager.alldjango/db/models/manager.py:1642 ms3.2%
member_organizationapps/orgs/views.py:622 ms3.2%
Organization.is_ownerapps/orgs/models.py:65 return user.is_authenticated and self.membership_set.filter(user=user, role=Membership.Role.OWNER).exists()2 ms3.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.2%
QuerySet.filterdjango/db/models/query.py:15422 ms3.2%
QuerySet._filter_or_excludedjango/db/models/query.py:15602 ms3.2%
QuerySet._filter_or_exclude_inplacedjango/db/models/query.py:15702 ms3.2%
Query.add_qdjango/db/models/sql/query.py:16712 ms3.2%
Query._add_qdjango/db/models/sql/query.py:17032 ms3.2%
Query.build_filterdjango/db/models/sql/query.py:15772 ms3.2%
reversedjango/urls/base.py:982 ms3.2%
URLResolver._reverse_with_prefixdjango/urls/resolvers.py:8032 ms3.2%
search<stdlib>/re/__init__.py:1792 ms3.2%
_compile<stdlib>/re/__init__.py:3522 ms3.2%
compile<stdlib>/re/_compiler.py:7622 ms3.2%
parse<stdlib>/re/_parser.py:9722 ms3.2%
_parse_sub<stdlib>/re/_parser.py:4592 ms3.2%
_parse<stdlib>/re/_parser.py:8552 ms3.2%
_parse_sub<stdlib>/re/_parser.py:4592 ms3.2%
SettingsTest.test_deleteapps/orgs/tests.py:180 response = self.client.post(reverse("org_delete", args=["acme"]), {"confirm": "acme"})24 ms31.8%
Client.postdjango/test/client.py:115324 ms31.8%
RequestFactory.postdjango/test/client.py:49924 ms31.8%
RequestFactory.genericdjango/test/client.py:67124 ms31.8%
Client.requestdjango/test/client.py:108224 ms31.8%
ClientHandler.__call__django/test/client.py:18624 ms31.8%
BaseHandler.get_responsedjango/core/handlers/base.py:14124 ms31.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5524 ms31.8%
DebugToolbarMiddleware.__call__debug_toolbar/middleware.py:13024 ms31.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5524 ms31.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30924 ms31.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5524 ms31.8%
WhiteNoiseMiddleware.__call__whitenoise/middleware.py:12324 ms31.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5524 ms31.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30924 ms31.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5524 ms31.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30924 ms31.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5524 ms31.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30924 ms31.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5524 ms31.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30924 ms31.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5524 ms31.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30924 ms31.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5524 ms31.8%
MiddlewareMixin.__call__django/utils/deprecation.py:30924 ms31.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5524 ms31.8%
AccountMiddleware.<locals>.middlewareallauth/account/middleware.py:3424 ms31.8%
convert_exception_to_response.<locals>.innerdjango/core/handlers/exception.py:5524 ms31.8%
BaseHandler._get_responsedjango/core/handlers/base.py:19824 ms31.8%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:5922 ms28.6%
require_http_methods.<locals>.decorator.<locals>.innerdjango/views/decorators/http.py:6422 ms28.6%
org_deleteapps/orgs/views.py:308 organization.delete()19 ms25.5%
Model.deletedjango/db/models/base.py:129810 ms12.7%
Collector.deletedjango/db/models/deletion.py:4717 ms9.5%
QuerySet._raw_deletedjango/db/models/query.py:12607 ms9.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16247 ms9.5%
CursorWrapper.executedjango/db/backends/utils.py:797 ms9.5%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:927 ms9.5%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1007 ms9.5%
CursorWrapper._executedjango/db/backends/utils.py:1057 ms9.5%
Cursor.executepsycopg/cursor.py:1137 ms9.5%
Connection.waitpsycopg/connection.py:4957 ms9.5%
Collector.deletedjango/db/models/deletion.py:5052 ms3.2%
DeleteQuery.delete_batchdjango/db/models/sql/subqueries.py:432 ms3.2%
DeleteQuery.do_querydjango/db/models/sql/subqueries.py:252 ms3.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.2%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.2%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.2%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.2%
Cursor.executepsycopg/cursor.py:1132 ms3.2%
Connection.waitpsycopg/connection.py:4952 ms3.2%
Model.deletedjango/db/models/base.py:129710 ms12.7%
Collector.collectdjango/db/models/deletion.py:3497 ms9.5%
CASCADEdjango/db/models/deletion.py:237 ms9.5%
Collector.collectdjango/db/models/deletion.py:3477 ms9.5%
QuerySet.__bool__django/db/models/query.py:4047 ms9.5%
QuerySet._fetch_alldjango/db/models/query.py:20007 ms9.5%
ModelIterable.__iter__django/db/models/query.py:957 ms9.5%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16117 ms9.5%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7677 ms9.5%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:865 ms6.4%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:755 ms6.4%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms3.2%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:2552 ms3.2%
SQLCompiler.get_default_columnsdjango/db/models/sql/compiler.py:10092 ms3.2%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:872 ms3.2%
SQLCompiler.get_order_bydjango/db/models/sql/compiler.py:4912 ms3.2%
Collector.collectdjango/db/models/deletion.py:3462 ms3.2%
org_deleteapps/orgs/views.py:3032 ms3.2%
member_organizationapps/orgs/views.py:59 organization = get_object_or_404(Organization, slug=org_slug)2 ms3.2%
get_object_or_404django/shortcuts.py:902 ms3.2%
QuerySet.getdjango/db/models/query.py:6352 ms3.2%
QuerySet.__len__django/db/models/query.py:3722 ms3.2%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.2%
ModelIterable.__iter__django/db/models/query.py:952 ms3.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16112 ms3.2%
SQLCompiler.as_sqldjango/db/models/sql/compiler.py:7672 ms3.2%
SQLCompiler.pre_sql_setupdjango/db/models/sql/compiler.py:862 ms3.2%
SQLCompiler.setup_querydjango/db/models/sql/compiler.py:752 ms3.2%
SQLCompiler.get_selectdjango/db/models/sql/compiler.py:3172 ms3.2%
SQLCompiler.compiledjango/db/models/sql/compiler.py:5782 ms3.2%
user_passes_test.<locals>.decorator.<locals>._view_wrapperdjango/contrib/auth/decorators.py:562 ms3.2%
login_required.<locals>.<lambda>django/contrib/auth/decorators.py:792 ms3.2%
new_method_proxy.<locals>.innerdjango/utils/functional.py:2512 ms3.2%
SimpleLazyObject._setupdjango/utils/functional.py:4042 ms3.2%
AuthenticationMiddleware.process_request.<locals>.<lambda>django/contrib/auth/middleware.py:402 ms3.2%
get_userdjango/contrib/auth/middleware.py:202 ms3.2%
get_userdjango/contrib/auth/__init__.py:3182 ms3.2%
ModelBackend.get_userdjango/contrib/auth/backends.py:2322 ms3.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.2%
QuerySet.getdjango/db/models/query.py:6352 ms3.2%
QuerySet.__len__django/db/models/query.py:3722 ms3.2%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.2%
ModelIterable.__iter__django/db/models/query.py:952 ms3.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.2%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.2%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.2%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.2%
Cursor.executepsycopg/cursor.py:1132 ms3.2%
Connection.waitpsycopg/connection.py:4952 ms3.2%
TestCase.run<stdlib>/unittest/case.py:6877 ms9.5%
TestCase._callSetUp<stdlib>/unittest/case.py:6347 ms9.5%
SettingsTest.setUpapps/orgs/tests.py:167 self.client.force_login(self.owner)7 ms9.5%
ClientMixin.force_logindjango/test/client.py:8557 ms9.5%
ClientMixin._logindjango/test/client.py:8815 ms6.4%
logindjango/contrib/auth/__init__.py:1875 ms6.4%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4342 ms3.2%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms3.2%
SessionStore.savedjango/contrib/sessions/backends/db.py:1272 ms3.2%
Model.savedjango/db/models/base.py:8742 ms3.2%
Model.save_basedjango/db/models/base.py:9662 ms3.2%
Model._save_tabledjango/db/models/base.py:11672 ms3.2%
Model._do_insertdjango/db/models/base.py:12182 ms3.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.2%
QuerySet._insertdjango/db/models/query.py:19182 ms3.2%
SQLInsertCompiler.execute_sqldjango/db/models/sql/compiler.py:19252 ms3.2%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.2%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.2%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.2%
Cursor.executepsycopg/cursor.py:1132 ms3.2%
Connection.waitpsycopg/connection.py:4952 ms3.2%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms3.2%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms3.2%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms3.2%
SessionBase.cycle_keydjango/contrib/sessions/backends/base.py:4372 ms3.2%
SessionStore.deletedjango/contrib/sessions/backends/db.py:1752 ms3.2%
BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_methoddjango/db/models/manager.py:872 ms3.2%
QuerySet.getdjango/db/models/query.py:6352 ms3.2%
QuerySet.__len__django/db/models/query.py:3722 ms3.2%
QuerySet._fetch_alldjango/db/models/query.py:20002 ms3.2%
ModelIterable.__iter__django/db/models/query.py:952 ms3.2%
SQLCompiler.execute_sqldjango/db/models/sql/compiler.py:16242 ms3.2%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.2%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.2%
CursorWrapper._executedjango/db/backends/utils.py:1052 ms3.2%
Cursor.executepsycopg/cursor.py:1132 ms3.2%
Connection.waitpsycopg/connection.py:4952 ms3.2%
ClientMixin._logindjango/test/client.py:8762 ms3.2%
ClientMixin.sessiondjango/test/client.py:8122 ms3.2%
SessionStore.savedjango/contrib/sessions/backends/db.py:1212 ms3.2%
SessionStore.createdjango/contrib/sessions/backends/db.py:742 ms3.2%
SessionStore.savedjango/contrib/sessions/backends/db.py:1262 ms3.2%
Atomic.__enter__django/db/transaction.py:2112 ms3.2%
async_unsafe.<locals>.decorator.<locals>.innerdjango/utils/asyncio.py:262 ms3.2%
BaseDatabaseWrapper.savepointdjango/db/backends/base/base.py:4002 ms3.2%
BaseDatabaseWrapper._savepointdjango/db/backends/base/base.py:3672 ms3.2%
CursorWrapper.executedjango/db/backends/utils.py:792 ms3.2%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:922 ms3.2%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1002 ms3.2%
CursorWrapper._executedjango/db/backends/utils.py:1032 ms3.2%
Cursor.executepsycopg/cursor.py:1132 ms3.2%
Connection.waitpsycopg/connection.py:4952 ms3.2%
BaseCursor._execute_genpsycopg/_cursor_base.py:2062 ms3.2%
BaseCursor._maybe_prepare_genpsycopg/_cursor_base.py:2862 ms3.2%
ClientCursorMixin._execute_sendpsycopg/client_cursor.py:782 ms3.2%
SimpleTestCase._setup_and_calldjango/test/testcases.py:3715 ms6.4%
TransactionTestCase._post_teardowndjango/test/testcases.py:1240 self._fixture_teardown()5 ms6.4%
TestCase._fixture_teardowndjango/test/testcases.py:14955 ms6.4%
DatabaseWrapper.check_constraintsdjango/db/backends/postgresql/base.py:4835 ms6.4%
CursorWrapper.executedjango/db/backends/utils.py:795 ms6.4%
CursorWrapper._execute_with_wrappersdjango/db/backends/utils.py:925 ms6.4%
QueryTracker._django_wrapperflakytest/profiling/dbtrack.py:1005 ms6.4%
CursorWrapper._executedjango/db/backends/utils.py:1035 ms6.4%
Cursor.executepsycopg/cursor.py:1135 ms6.4%
Connection.waitpsycopg/connection.py:4955 ms6.4%
Estimated from 32 samples; phase durations are exact. Frames from pytest and pluggy are
shown
.
Hot lines in your code
|
apps/orgs/tests.py:178
response = self.client.post(reverse("org_delete", args=["acme"]), {"confirm": "nope"})
SettingsTest.test_delete
· Libraries
|
34 ms |
|
apps/orgs/views.py:308
organization.delete()
org_delete
· Database
|
19 ms |
|
apps/orgs/tests.py:167
self.client.force_login(self.owner)
SettingsTest.setUp
· Database
|
7 ms |
|
apps/orgs/views.py:59
organization = get_object_or_404(Organization, slug=org_slug)
member_organization
· Database
|
5 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
|
2 ms |
|
apps/orgs/tests.py:180
response = self.client.post(reverse("org_delete", args=["acme"]), {"confirm": "acme"})
SettingsTest.test_delete
· Database
|
2 ms |
Fixtures
Exact setup time| _template_string_if_invalid_marker function | 0.08 ms |
| _dj_autoclear_mailbox function | 0.05 ms |
| _django_db_marker function | 0.05 ms |
| _django_set_urlconf function | 0.05 ms |
| _live_server_helper function | 0.04 ms |
| _django_clear_site_cache function | 0.04 ms |
| monkeypatch function | 0.03 ms |
Database
48 queries · 20 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 ?
Biggest pieces of work
|
call test body
apps/orgs/tests.py:178
|
62 ms |
|
call setUp
apps/orgs/tests.py:167
|
7 ms |
|
call _post_teardown
django/test/testcases.py:1240
|
5 ms |
| setup pytest internals | 0.86 ms |
Reliability
5 results · 0 CI failures · 0 local failuresThis test hasn't failed recently.
History
Latest 5 results, oldest first in the strip| When | Environment | Outcome | Duration | |
|---|---|---|---|---|
| an hour ago | CI github-actions:test | passed | 75 ms | Profile |
| an hour ago | CI github-actions:test | passed | 73 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 76 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 39 ms | Profile |
| 8 hours ago | CI github-actions:test | passed | 81 ms | Profile |