'COORDINATION IN RHYTHM' – MODAL NOTATION

3.1

Cantus and discantus

In this video you will get some basic information about the historical development of polyphony in Western music history. You will also become acquainted with a new form of noting music: the modal notation.

Previously you explored how liturgical chant was noted down, starting from the late Carolingian times until the crucial transition from the neumes without lines to square notation. Let us now address the polyphony of the 12th and 13th centuries. A good example is the so-called Notre Dame school. The name stands for a group of musicians active in Paris between about 1150 and about 1250. They composed a large number of polyphonic settings of liturgical music.

The Ensemble Gilles Binchois under the direction of Dominique Vellard sings the monophonic Gradual Benedicta et Venerabilis. The video also presents two polyphonic clausulae Go and the motet O Maria mater pia from the manuscript Firenze, Biblioteca Medicea Laurenziana, Plut. 29.1, fol. 11r, 165r and 393r–v that are derived from the monophonic Gradual.

Lizenz

Copyright: University of Basel

Downloads

DJDT

Versionen

Paket Name Version
Django 4.2.17
Python 3.11.11
allauth Allauth 65.3.1.final.0
cachalot Cachalot 2.6.3
crispy_bootstrap5 Crispy_Bootstrap5 2024.10
crispy_forms Crispy_Forms 2.3
debug_toolbar Debug Toolbar 4.4.6
django_extensions Django Extensions 3.2.3
django_q Django Q 1.7.4
imagekit Imagekit 5.0.0
impersonate Impersonate 1.9.4
markdownx Markdownx 4.0.7
mozilla_django_oidc Mozilla_Django_Oidc 4.0.1
notifications Notifications 1.8.3
rosetta Rosetta 0.10.1
rules Rules 3.5.0.final.1
simple_history Simple_History 3.7.0
storages Storages 1.14.4
tos Terms Of Service 1.1.0
waffle django-waffle 4.1.0

Zeit

Ressourcenverwendung

Ressource Wert
CPU-Zeit Benutzer 249.302 ms
CPU-Zeit System 12.408 ms
CPU-Zeit gesamt 261.710 ms
Verstrichene Zeit 677.465 ms
Kontextwechsel 109 freiwillig, 9 unfreiwillig

Browserzeit

Timing-Attribut Verlauf Millisekunden seit Seitenaufruf (plus Dauer)

Einstellungen von config.settings.staging

Einstellung Wert
ABSOLUTE_URL_OVERRIDES {}
ACCOUNT_ADAPTER 'lms_base.adapter.AccountAdapter'
ADMINS (('admin', 'notifications-nmc@unibas.ch'),)
ADMIN_URL 'admin/'
ALLOWED_HOSTS ['*']
APPEND_SLASH True
AUTHENTICATION_BACKENDS ('rules.permissions.ObjectPermissionBackend', 'lms_base.authentication.EDUIDAuthenticationBackend', 'django.contrib.auth.backends.ModelBackend')
AUTH_PASSWORD_VALIDATORS '********************'
AUTH_USER_MODEL 'users.User'
BASE_DIR '/app/project/config/../'
CACHALOT_ENABLED True
CACHES {'default': {'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://tales-redis:6379/1', 'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient', 'IGNORE_EXCEPTIONS': True}}}
CACHE_MIDDLEWARE_ALIAS 'default'
CACHE_MIDDLEWARE_KEY_PREFIX '********************'
CACHE_MIDDLEWARE_SECONDS 600
CI_COMMIT_SHORT_SHA '5b754a71'
CI_COMMIT_TAG ''
CRISPY_ALLOWED_TEMPLATE_PACKS 'bootstrap5'
CRISPY_TEMPLATE_PACK 'bootstrap5'
CSRF_COOKIE_AGE 31449600
CSRF_COOKIE_DOMAIN None
CSRF_COOKIE_HTTPONLY False
CSRF_COOKIE_MASKED False
CSRF_COOKIE_NAME 'csrftoken'
CSRF_COOKIE_PATH '/'
CSRF_COOKIE_SAMESITE None
CSRF_COOKIE_SECURE False
CSRF_FAILURE_VIEW 'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME 'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS []
CSRF_USE_SESSIONS False
DATABASES {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_HEALTH_CHECKS': False, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.postgresql', 'HOST': 'tales-postgres', 'NAME': 'tptt', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '5432', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'tales_db_user'}}
DATABASE_ROUTERS []
DATA_UPLOAD_MAX_MEMORY_SIZE 2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS 1000
DATA_UPLOAD_MAX_NUMBER_FILES 100
DATETIME_FORMAT 'N j, Y, P'
DATETIME_INPUT_FORMATS ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M']
DATE_FORMAT 'N j, Y'
DATE_INPUT_FORMATS ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']
DEBUG True
DEBUG_PROPAGATE_EXCEPTIONS False
DEBUG_TOOLBAR_CONFIG {'SHOW_TOOLBAR_CALLBACK': <function show_toolbar at 0x75247edb1620>}
DEBUG_TOOLBAR_PANELS ['debug_toolbar.panels.history.HistoryPanel', 'debug_toolbar.panels.versions.VersionsPanel', 'debug_toolbar.panels.timer.TimerPanel', 'debug_toolbar.panels.settings.SettingsPanel', 'debug_toolbar.panels.headers.HeadersPanel', 'debug_toolbar.panels.request.RequestPanel', 'debug_toolbar.panels.sql.SQLPanel', 'debug_toolbar.panels.staticfiles.StaticFilesPanel', 'debug_toolbar.panels.templates.TemplatesPanel', 'debug_toolbar.panels.cache.CachePanel', 'cachalot.panels.CachalotPanel', 'debug_toolbar.panels.signals.SignalsPanel', 'debug_toolbar.panels.logging.LoggingPanel', 'debug_toolbar.panels.redirects.RedirectsPanel', 'debug_toolbar.panels.profiling.ProfilingPanel']
DECIMAL_SEPARATOR '.'
DEFAULT_AUTO_FIELD 'django.db.models.AutoField'
DEFAULT_CHARSET 'utf-8'
DEFAULT_EXCEPTION_REPORTER 'django.views.debug.ExceptionReporter'
DEFAULT_EXCEPTION_REPORTER_FILTER 'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE 'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL 'contact-nmc@unibas.ch'
DEFAULT_INDEX_TABLESPACE ''
DEFAULT_TABLESPACE ''
DEPLOY_ENV 'staging'
DISALLOWED_USER_AGENTS []
DJANGO_APPS ('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.forms', 'django.contrib.sites', 'django.contrib.flatpages', 'modeltranslation', 'django.contrib.admin', 'django.contrib.redirects', 'django.contrib.sitemaps', 'django.contrib.humanize')
DJANGO_NOTIFICATIONS_CONFIG {'USE_JSONFIELD': True}
EMAIL_BACKEND 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST 'smtp.unibas.ch'
EMAIL_HOST_PASSWORD '********************'
EMAIL_HOST_USER ''
EMAIL_PORT 25
EMAIL_SSL_CERTFILE None
EMAIL_SSL_KEYFILE '********************'
EMAIL_SUBJECT_PREFIX '[Django] '
EMAIL_TIMEOUT None
EMAIL_USE_LOCALTIME False
EMAIL_USE_SSL False
EMAIL_USE_TLS False
FILE_UPLOAD_DIRECTORY_PERMISSIONS None
FILE_UPLOAD_HANDLERS ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE 2621440
FILE_UPLOAD_PERMISSIONS 420
FILE_UPLOAD_TEMP_DIR None
FIRST_DAY_OF_WEEK 0
FIXTURE_DIRS []
FORCE_SCRIPT_NAME None
FORMAT_MODULE_PATH None
FORM_RENDERER 'django.forms.renderers.TemplatesSetting'
IGNORABLE_404_URLS []
IMAGEKIT_CACHEFILE_DIR 'CACHE/images'
IMAGEKIT_CACHEFILE_NAMER 'imagekit.cachefiles.namers.hash'
IMAGEKIT_CACHE_BACKEND 'default'
IMAGEKIT_CACHE_PREFIX 'imagekit:'
IMAGEKIT_CACHE_TIMEOUT 300
IMAGEKIT_DEFAULT_CACHEFILE_BACKEND 'imagekit.cachefiles.backends.Simple'
IMAGEKIT_DEFAULT_CACHEFILE_STRATEGY 'imagekit.cachefiles.strategies.JustInTime'
IMAGEKIT_DEFAULT_FILE_STORAGE 'default'
IMAGEKIT_SPEC_CACHEFILE_NAMER 'imagekit.cachefiles.namers.source_name_as_path'
IMAGEKIT_USE_MEMCACHED_SAFE_CACHE_KEY '********************'
INSTALLED_APPS ('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.forms', 'django.contrib.sites', 'django.contrib.flatpages', 'modeltranslation', 'django.contrib.admin', 'django.contrib.redirects', 'django.contrib.sitemaps', 'django.contrib.humanize', 'simple_history', 'crispy_forms', 'crispy_bootstrap5', 'allauth', 'allauth.account', 'allauth.socialaccount', 'mozilla_django_oidc', 'django_extensions', 'markdownx', 'rules.apps.AutodiscoverRulesConfig', 'imagekit', 'waffle', 'django_htmx', 'cachalot', 'corsheaders', 'tos', 'tos_i18n', 'impersonate', 'rosetta', 'django_q', 'notifications', 'link_check', 'users.apps.UsersConfig', 'lms_base', 'lms_tales.apps.LMSTalesConfig', 'lms_comments.apps.LMSCommentsConfig', 'lms_static_texts.apps.LMSStaticTextsConfig', 'tags.apps.TagsConfig', 'startpage.apps.StartpageConfig', 'search.apps.SearchConfig', 'utils.apps.UtilsConfig', 'dashboard.apps.DashboardConfig', 'reporting.apps.ReportingConfig', 'lms_notifications.apps.LMSNotificationsConfig', 'storages', 'debug_toolbar')
INTERNAL_IPS ['127.0.0.1']
LANGUAGES (('de', 'Deutsch'), ('en', 'Englisch'), ('fr', 'Franzoesisch'))
LANGUAGES_BIDI ['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ur']
LANGUAGE_CODE 'de'
LANGUAGE_COOKIE_AGE None
LANGUAGE_COOKIE_DOMAIN None
LANGUAGE_COOKIE_HTTPONLY False
LANGUAGE_COOKIE_NAME 'django_language'
LANGUAGE_COOKIE_PATH '/'
LANGUAGE_COOKIE_SAMESITE None
LANGUAGE_COOKIE_SECURE False
LOCALE_PATHS ['/app/project/config/../locale']
LOCAL_APPS ('users.apps.UsersConfig', 'lms_base', 'lms_tales.apps.LMSTalesConfig', 'lms_comments.apps.LMSCommentsConfig', 'lms_static_texts.apps.LMSStaticTextsConfig', 'tags.apps.TagsConfig', 'startpage.apps.StartpageConfig', 'search.apps.SearchConfig', 'utils.apps.UtilsConfig', 'dashboard.apps.DashboardConfig', 'reporting.apps.ReportingConfig', 'lms_notifications.apps.LMSNotificationsConfig')
LOGGING {'disable_existing_loggers': False, 'formatters': {'verbose': {'format': '{asctime} {levelname} {name} {module} ' '{message}', 'style': '{'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'formatter': 'verbose'}, 'mail_admins': {'class': 'django.utils.log.AdminEmailHandler', 'include_html': True, 'level': 'ERROR'}}, 'loggers': {'django': {'handlers': ['console', 'mail_admins'], 'level': 'WARNING', 'propagate': True}, 'django.request': {'handlers': ['console', 'mail_admins'], 'level': 'ERROR', 'propagate': False}, 'django.security': {'handlers': ['console', 'mail_admins'], 'level': 'ERROR', 'propagate': False}, 'fontTools': {'handlers': ['console'], 'level': 'ERROR'}, 'tales': {'handlers': ['console'], 'level': 'INFO'}, 'weasyprint': {'handlers': ['console'], 'level': 'ERROR'}}, 'root': {'handlers': ['console'], 'level': 'WARNING'}, 'version': 1}
LOGGING_CONFIG 'logging.config.dictConfig'
LOGIN_REDIRECT_URL '/'
LOGIN_URL 'account_login'
LOGOUT_REDIRECT_URL '/'
MANAGERS []
MARKDOWNX_EDITOR_RESIZABLE True
MARKDOWNX_IMAGE_MAX_SIZE {'quality': 90, 'size': (1920, 5600)}
MARKDOWNX_MARKDOWNIFY_FUNCTION 'lms_base.utils.markdownify'
MARKDOWNX_MARKDOWN_EXTENSIONS ['markdown.extensions.extra', 'markdown.extensions.smarty', 'markdown.extensions.codehilite', 'markdown.extensions.fenced_code', 'markdown.extensions.attr_list', 'markdown.extensions.toc', 'utils.markdown_extensions', 'python_markdown_oembed_extension']
MARKDOWNX_MEDIA_PATH 'markdownx/'
MARKDOWNX_UPLOAD_URLS_PATH '/markdownx/upload/'
MARKDOWNX_URLS_PATH '/markdownx/markdownify/'
MEDIA_ROOT '/app/project/media'
MEDIA_URL '/media/'
MESSAGE_REAPPEAR_TIME 600
MESSAGE_STORAGE 'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE ['corsheaders.middleware.CorsMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'lms_tales.middleware.SetLocaleFoundInUserSettings', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'allauth.account.middleware.AccountMiddleware', 'impersonate.middleware.ImpersonateMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'simple_history.middleware.HistoryRequestMiddleware', 'django.contrib.redirects.middleware.RedirectFallbackMiddleware', 'waffle.middleware.WaffleMiddleware', 'django_htmx.middleware.HtmxMiddleware', 'lms_tales.middleware.TalesUserAgreementMiddleware', 'lms_tales.middleware.ScheduledMessagesMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware']
MIGRATION_MODULES {'tos': 'lms_tales.migrate.tos'}
MODELTRANSLATION_CUSTOM_FIELDS ('JSONField',)
MODELTRANSLATION_DEFAULT_LANGUAGE 'de'
MODELTRANSLATION_FALLBACK_LANGUAGES ('de', 'en', 'fr')
MONTH_DAY_FORMAT 'F j'
NOTIFICATIONS_NOTIFICATION_MODEL 'notifications.Notification'
NUMBER_GROUPING 0
OIDC_OP_AUTHORIZATION_ENDPOINT 'https://login.test.eduid.ch/idp/profile/oidc/authorize'
OIDC_OP_JWKS_ENDPOINT 'https://login.test.eduid.ch/idp/profile/oidc/keyset'
OIDC_OP_TOKEN_ENDPOINT '********************'
OIDC_OP_USER_ENDPOINT 'https://login.test.eduid.ch/idp/profile/oidc/userinfo'
OIDC_RP_CLIENT_ID 'unibas-tales'
OIDC_RP_CLIENT_SECRET '********************'
OIDC_RP_SCOPES 'openid email profile https://login.eduid.ch/authz/User.Read'
OIDC_RP_SIGN_ALGO 'RS256'
OIDC_TOKEN_USE_BASIC_AUTH '********************'
PASSWORD_HASHERS '********************'
PASSWORD_RESET_TIMEOUT '********************'
PREPEND_WWW False
PROJECT_DIR '/app/project/config/../'
Q_CLUSTER {'catch_up': False, 'django_redis': 'default', 'name': 'QCluster', 'retry': 600, 'timeout': 500, 'workers': 4}
RELEASE_NAME ''
REQUIRE_SUPERUSER True
ROOT_URLCONF 'config.urls'
ROSETTA_MESSAGES_SOURCE_LANGUAGE_CODE 'de'
ROSETTA_MESSAGES_SOURCE_LANGUAGE_NAME 'Deutsch'
ROSETTA_SHOW_AT_ADMIN_PANEL 'True'
SECRET_KEY '********************'
SECRET_KEY_FALLBACKS '********************'
SECURE_CONTENT_TYPE_NOSNIFF True
SECURE_CROSS_ORIGIN_OPENER_POLICY 'same-origin'
SECURE_HSTS_INCLUDE_SUBDOMAINS False
SECURE_HSTS_PRELOAD False
SECURE_HSTS_SECONDS 0
SECURE_PROXY_SSL_HEADER ('HTTP_X_FORWARDED_PROTO', 'https')
SECURE_REDIRECT_EXEMPT []
SECURE_REFERRER_POLICY 'same-origin'
SECURE_SSL_HOST None
SECURE_SSL_REDIRECT False
SERVER_EMAIL 'root@localhost'
SESSION_CACHE_ALIAS 'default'
SESSION_COOKIE_AGE 1209600
SESSION_COOKIE_DOMAIN None
SESSION_COOKIE_HTTPONLY True
SESSION_COOKIE_NAME 'sessionid'
SESSION_COOKIE_PATH '/'
SESSION_COOKIE_SAMESITE None
SESSION_COOKIE_SECURE False
SESSION_ENGINE 'django.contrib.sessions.backends.cache'
SESSION_EXPIRE_AT_BROWSER_CLOSE False
SESSION_FILE_PATH None
SESSION_SAVE_EVERY_REQUEST False
SESSION_SERIALIZER 'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE 'config.settings.staging'
SHORT_DATETIME_FORMAT 'm/d/Y P'
SHORT_DATE_FORMAT 'm/d/Y'
SIGNING_BACKEND 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS []
SITE_DOMAIN 'https://nmc-tales-staging.nmc.unibas.ch/'
SITE_ID 1
SLACK_WEBHOOK 'https://hooks.slack.com/services/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'
STAGING_EMAIL_RECIPIENTS ['notifications-nmc@unibas.ch']
STATICFILES_DIRS ['/app/project/config/../static']
STATICFILES_FINDERS ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder')
STATICFILES_STORAGE 'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT '/app/project/config/../../staticfiles'
STATIC_URL '/static/'
STORAGES {'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'}, 'staticfiles': {'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage'}}
TALES_BASE_URL 'https://tales.nmc.unibas.ch'
TALES_VERSION 'dev'
TEMPLATES [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/app/project/config/../templates', '/usr/local/lib/python3.11/site-packages/django/forms/templates'], 'OPTIONS': {'builtins': ['django.templatetags.i18n', 'django.templatetags.static'], 'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.contrib.messages.context_processors.messages', 'utils.context_processors.ci_info'], 'debug': False, 'loaders': ['django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader']}}]
TEST_NON_SERIALIZED_APPS []
TEST_RUNNER 'django.test.runner.DiscoverRunner'
THIRD_PARTY_APPS ('debug_toolbar',)
THOUSAND_SEPARATOR ','
TIME_FORMAT 'P'
TIME_INPUT_FORMATS ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE 'Europe/Zurich'
USER_DEACTIVATION_AFTER_DAYS 730
USER_DELETION_AFTER_DAYS 912
USE_DEPRECATED_PYTZ False
USE_I18N True
USE_L10N True
USE_THOUSAND_SEPARATOR False
USE_TZ True
USE_X_FORWARDED_HOST True
USE_X_FORWARDED_PORT False
VIEW_CACHE_TTL 600
WAFFLE_LOG_MISSING_FLAGS 30
WAFFLE_LOG_MISSING_SAMPLES 30
WAFFLE_LOG_MISSING_SWITCHES 30
WSGI_APPLICATION 'config.wsgi.application'
X_FRAME_OPTIONS 'DENY'
YEAR_MONTH_FORMAT 'F Y'

Header

Anfrage-Header

Schlüssel Wert
Accept */*
Accept-Encoding gzip, br, zstd, deflate
Host nmc-tales-staging.nmc.unibas.ch
User-Agent Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
X-Forwarded-For 3.145.38.150
X-Forwarded-Host nmc-tales-staging.nmc.unibas.ch
X-Forwarded-Proto https

Antwort-Header

Schlüssel Wert
Content-Type text/html; charset=utf-8

WSGI-Umgebung

Da sich die WSGI-Umgebung von der Umgebung des Servers ableitet, wird nur eine notwendige Teilmenge dargestellt.

Schlüssel Wert
PATH_INFO /de/from-ink-to-sound-32/coordination-in-rhythm-modal-notation-189/cantus-and-discantus-928
QUERY_STRING
REMOTE_ADDR 3.145.38.150
REMOTE_HOST 3.145.38.150
REQUEST_METHOD GET
SCRIPT_NAME
SERVER_NAME 172.19.0.6
SERVER_PORT 8000

Anfrage

View-Informationen

View-Funktion Argumente Schlüsselwort-Argumente URL-Name
utils.decorators.cache_per_user.<locals>.decorator.<locals>.apply_cache () {'chapter_pk': 189, 'chapter_slug': 'coordination-in-rhythm-modal-notation', 'course_pk': 32, 'course_slug': 'from-ink-to-sound', 'pk': 928, 'slug': 'cantus-and-discantus'} tales:step

Keine Cookies

Keine Sitzungsdaten

Keine GET-Daten

Keine POST-Daten

SQL-Abfragen von 1 Verbindung

  • default 10,40 ms (10 Abfragen inklusive 2 ähnlich )
Abfrage Verlauf Zeit (ms) Aktion
SELECT "lms_tales_talesstep"."id",
       "lms_tales_talesstep"."created",
       "lms_tales_talesstep"."modified",
       "lms_tales_talesstep"."status_changed",
       "lms_tales_talesstep"."is_removed",
       "lms_tales_talesstep"."title",
       "lms_tales_talesstep"."title_de",
       "lms_tales_talesstep"."title_en",
       "lms_tales_talesstep"."title_fr",
       "lms_tales_talesstep"."subtitle",
       "lms_tales_talesstep"."subtitle_de",
       "lms_tales_talesstep"."subtitle_en",
       "lms_tales_talesstep"."subtitle_fr",
       "lms_tales_talesstep"."short_description",
       "lms_tales_talesstep"."short_description_de",
       "lms_tales_talesstep"."short_description_en",
       "lms_tales_talesstep"."short_description_fr",
       "lms_tales_talesstep"."title_image",
       "lms_tales_talesstep"."slug",
       "lms_tales_talesstep"."content",
       "lms_tales_talesstep"."content_de",
       "lms_tales_talesstep"."content_en",
       "lms_tales_talesstep"."content_fr",
       "lms_tales_talesstep"."content_html",
       "lms_tales_talesstep"."content_html_de",
       "lms_tales_talesstep"."content_html_en",
       "lms_tales_talesstep"."content_html_fr",
       "lms_tales_talesstep"."content_json",
       "lms_tales_talesstep"."content_json_de",
       "lms_tales_talesstep"."content_json_en",
       "lms_tales_talesstep"."content_json_fr",
       "lms_tales_talesstep"."copyright",
       "lms_tales_talesstep"."copyright_de",
       "lms_tales_talesstep"."copyright_en",
       "lms_tales_talesstep"."copyright_fr",
       "lms_tales_talesstep"."step_type",
       "lms_tales_talesstep"."duration",
       "lms_tales_talesstep"."order",
       "lms_tales_talesstep"."status",
       "lms_tales_talesstep"."allow_comments",
       "lms_tales_talesstep"."call_to_action",
       "lms_tales_talesstep"."call_to_action_de",
       "lms_tales_talesstep"."call_to_action_en",
       "lms_tales_talesstep"."call_to_action_fr",
       "lms_tales_talesstep"."chapter_id"
  FROM "lms_tales_talesstep"
 WHERE "lms_tales_talesstep"."id" = 928
 LIMIT 21
SELECT ••• FROM "lms_tales_talesstep" WHERE "lms_tales_talesstep"."id" = 928 LIMIT 21
2,03

Verbindung: default

Transaktionsstatus: Wartet

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(64)
  response = function(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/base.py in view(104)
  return self.dispatch(request, *args, **kwargs)

/app/project/lms_tales/views/mixins.py in dispatch(20)
  self.object = self.get_object()

/usr/local/lib/python3.11/site-packages/django/views/generic/detail.py in get_object(53)
  obj = queryset.get()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(64)
  result = execute_query_func()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in <lambda>(80)
  execute_query_func = lambda: original(compiler, *args, **kwargs)

SELECT "lms_tales_talesstepfilenew"."id",
       "lms_tales_talesstepfilenew"."created",
       "lms_tales_talesstepfilenew"."modified",
       "lms_tales_talesstepfilenew"."step_id",
       "lms_tales_talesstepfilenew"."file_id",
       "lms_tales_talesstepfilenew"."language"
  FROM "lms_tales_talesstepfilenew"
 WHERE ("lms_tales_talesstepfilenew"."language" = 'de' AND "lms_tales_talesstepfilenew"."step_id" = 928)
SELECT ••• FROM "lms_tales_talesstepfilenew" WHERE ("lms_tales_talesstepfilenew"."language" = 'de' AND "lms_tales_talesstepfilenew"."step_id" = 928)
1,27

Verbindung: default

Transaktionsstatus: Wartet

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(64)
  response = function(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/base.py in view(104)
  return self.dispatch(request, *args, **kwargs)

/app/project/lms_tales/views/mixins.py in dispatch(31)
  return super().dispatch(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/base.py in dispatch(143)
  return handler(request, *args, **kwargs)

/app/project/lms_tales/views/step_views.py in get(36)
  response = super().get(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/detail.py in get(109)
  context = self.get_context_data(object=self.object)

/app/project/lms_tales/views/step_views.py in get_context_data(63)
  if len(step_files_new) == 0:

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(64)
  result = execute_query_func()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in <lambda>(80)
  execute_query_func = lambda: original(compiler, *args, **kwargs)

SELECT "lms_tales_talesstep"."id",
       "lms_tales_talesstep"."created",
       "lms_tales_talesstep"."modified",
       "lms_tales_talesstep"."status_changed",
       "lms_tales_talesstep"."is_removed",
       "lms_tales_talesstep"."title",
       "lms_tales_talesstep"."title_de",
       "lms_tales_talesstep"."title_en",
       "lms_tales_talesstep"."title_fr",
       "lms_tales_talesstep"."subtitle",
       "lms_tales_talesstep"."subtitle_de",
       "lms_tales_talesstep"."subtitle_en",
       "lms_tales_talesstep"."subtitle_fr",
       "lms_tales_talesstep"."short_description",
       "lms_tales_talesstep"."short_description_de",
       "lms_tales_talesstep"."short_description_en",
       "lms_tales_talesstep"."short_description_fr",
       "lms_tales_talesstep"."title_image",
       "lms_tales_talesstep"."slug",
       "lms_tales_talesstep"."content",
       "lms_tales_talesstep"."content_de",
       "lms_tales_talesstep"."content_en",
       "lms_tales_talesstep"."content_fr",
       "lms_tales_talesstep"."content_html",
       "lms_tales_talesstep"."content_html_de",
       "lms_tales_talesstep"."content_html_en",
       "lms_tales_talesstep"."content_html_fr",
       "lms_tales_talesstep"."content_json",
       "lms_tales_talesstep"."content_json_de",
       "lms_tales_talesstep"."content_json_en",
       "lms_tales_talesstep"."content_json_fr",
       "lms_tales_talesstep"."copyright",
       "lms_tales_talesstep"."copyright_de",
       "lms_tales_talesstep"."copyright_en",
       "lms_tales_talesstep"."copyright_fr",
       "lms_tales_talesstep"."step_type",
       "lms_tales_talesstep"."duration",
       "lms_tales_talesstep"."order",
       "lms_tales_talesstep"."status",
       "lms_tales_talesstep"."allow_comments",
       "lms_tales_talesstep"."call_to_action",
       "lms_tales_talesstep"."call_to_action_de",
       "lms_tales_talesstep"."call_to_action_en",
       "lms_tales_talesstep"."call_to_action_fr",
       "lms_tales_talesstep"."chapter_id"
  FROM "lms_tales_talesstep"
 INNER JOIN "lms_tales_taleschapter"
    ON ("lms_tales_talesstep"."chapter_id" = "lms_tales_taleschapter"."id")
 WHERE ("lms_tales_talesstep"."chapter_id" = 189 AND NOT "lms_tales_talesstep"."is_removed" AND "lms_tales_talesstep"."status" = 'published' AND "lms_tales_talesstep"."order" > 0)
 ORDER BY "lms_tales_taleschapter"."course_id" ASC,
          "lms_tales_taleschapter"."order" ASC,
          "lms_tales_talesstep"."order" ASC
 LIMIT 1
SELECT ••• FROM "lms_tales_talesstep" INNER JOIN "lms_tales_taleschapter" ON ("lms_tales_talesstep"."chapter_id" = "lms_tales_taleschapter"."id") WHERE ("lms_tales_talesstep"."chapter_id" = 189 AND NOT "lms_tales_talesstep"."is_removed" AND "lms_tales_talesstep"."status" = 'published' AND "lms_tales_talesstep"."order" > 0) ORDER BY "lms_tales_taleschapter"."course_id" ASC, "lms_tales_taleschapter"."order" ASC, "lms_tales_talesstep"."order" ASC LIMIT 1
1,66

Verbindung: default

Transaktionsstatus: Wartet

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/project/lms_base/templatetags/utils.py in get_next_step(105)
  return step.get_next(published_only=True)

/app/project/lms_base/models.py in get_next(249)
  return self._get_neighbour_step(is_next=True, published_only=published_only)

/app/project/lms_base/models.py in _get_neighbour_step(201)
  step = self.__class__.next_previous_manager.get_next_previous(

/app/project/lms_base/models.py in get_next_previous(71)
  return qs.first()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(64)
  result = execute_query_func()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in <lambda>(80)
  execute_query_func = lambda: original(compiler, *args, **kwargs)

SELECT "lms_tales_talesstep"."id",
       "lms_tales_talesstep"."created",
       "lms_tales_talesstep"."modified",
       "lms_tales_talesstep"."status_changed",
       "lms_tales_talesstep"."is_removed",
       "lms_tales_talesstep"."title",
       "lms_tales_talesstep"."title_de",
       "lms_tales_talesstep"."title_en",
       "lms_tales_talesstep"."title_fr",
       "lms_tales_talesstep"."subtitle",
       "lms_tales_talesstep"."subtitle_de",
       "lms_tales_talesstep"."subtitle_en",
       "lms_tales_talesstep"."subtitle_fr",
       "lms_tales_talesstep"."short_description",
       "lms_tales_talesstep"."short_description_de",
       "lms_tales_talesstep"."short_description_en",
       "lms_tales_talesstep"."short_description_fr",
       "lms_tales_talesstep"."title_image",
       "lms_tales_talesstep"."slug",
       "lms_tales_talesstep"."content",
       "lms_tales_talesstep"."content_de",
       "lms_tales_talesstep"."content_en",
       "lms_tales_talesstep"."content_fr",
       "lms_tales_talesstep"."content_html",
       "lms_tales_talesstep"."content_html_de",
       "lms_tales_talesstep"."content_html_en",
       "lms_tales_talesstep"."content_html_fr",
       "lms_tales_talesstep"."content_json",
       "lms_tales_talesstep"."content_json_de",
       "lms_tales_talesstep"."content_json_en",
       "lms_tales_talesstep"."content_json_fr",
       "lms_tales_talesstep"."copyright",
       "lms_tales_talesstep"."copyright_de",
       "lms_tales_talesstep"."copyright_en",
       "lms_tales_talesstep"."copyright_fr",
       "lms_tales_talesstep"."step_type",
       "lms_tales_talesstep"."duration",
       "lms_tales_talesstep"."order",
       "lms_tales_talesstep"."status",
       "lms_tales_talesstep"."allow_comments",
       "lms_tales_talesstep"."call_to_action",
       "lms_tales_talesstep"."call_to_action_de",
       "lms_tales_talesstep"."call_to_action_en",
       "lms_tales_talesstep"."call_to_action_fr",
       "lms_tales_talesstep"."chapter_id"
  FROM "lms_tales_talesstep"
 INNER JOIN "lms_tales_taleschapter"
    ON ("lms_tales_talesstep"."chapter_id" = "lms_tales_taleschapter"."id")
 WHERE ("lms_tales_talesstep"."chapter_id" = 189 AND NOT "lms_tales_talesstep"."is_removed" AND "lms_tales_talesstep"."status" = 'published' AND "lms_tales_talesstep"."order" < 0)
 ORDER BY "lms_tales_taleschapter"."course_id" DESC,
          "lms_tales_taleschapter"."order" DESC,
          "lms_tales_talesstep"."order" DESC
 LIMIT 1
SELECT ••• FROM "lms_tales_talesstep" INNER JOIN "lms_tales_taleschapter" ON ("lms_tales_talesstep"."chapter_id" = "lms_tales_taleschapter"."id") WHERE ("lms_tales_talesstep"."chapter_id" = 189 AND NOT "lms_tales_talesstep"."is_removed" AND "lms_tales_talesstep"."status" = 'published' AND "lms_tales_talesstep"."order" < 0) ORDER BY "lms_tales_taleschapter"."course_id" DESC, "lms_tales_taleschapter"."order" DESC, "lms_tales_talesstep"."order" DESC LIMIT 1
0,89

Verbindung: default

Transaktionsstatus: Wartet

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/project/lms_base/templatetags/utils.py in get_previous_step(93)
  return step.get_previous(published_only=True)

/app/project/lms_base/models.py in get_previous(255)
  return self._get_neighbour_step(is_next=False, published_only=published_only)

/app/project/lms_base/models.py in _get_neighbour_step(201)
  step = self.__class__.next_previous_manager.get_next_previous(

/app/project/lms_base/models.py in get_next_previous(72)
  return qs.last()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(64)
  result = execute_query_func()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in <lambda>(80)
  execute_query_func = lambda: original(compiler, *args, **kwargs)

SELECT "lms_tales_taleschapter"."id",
       "lms_tales_taleschapter"."created",
       "lms_tales_taleschapter"."modified",
       "lms_tales_taleschapter"."status_changed",
       "lms_tales_taleschapter"."is_removed",
       "lms_tales_taleschapter"."title",
       "lms_tales_taleschapter"."title_de",
       "lms_tales_taleschapter"."title_en",
       "lms_tales_taleschapter"."title_fr",
       "lms_tales_taleschapter"."slug",
       "lms_tales_taleschapter"."order",
       "lms_tales_taleschapter"."status",
       "lms_tales_taleschapter"."course_id"
  FROM "lms_tales_taleschapter"
 WHERE ("lms_tales_taleschapter"."course_id" = 32 AND NOT "lms_tales_taleschapter"."is_removed" AND "lms_tales_taleschapter"."status" = 'published' AND "lms_tales_taleschapter"."order" < 2)
 ORDER BY "lms_tales_taleschapter"."course_id" DESC,
          "lms_tales_taleschapter"."order" DESC
 LIMIT 1
SELECT ••• FROM "lms_tales_taleschapter" WHERE ("lms_tales_taleschapter"."course_id" = 32 AND NOT "lms_tales_taleschapter"."is_removed" AND "lms_tales_taleschapter"."status" = 'published' AND "lms_tales_taleschapter"."order" < 2) ORDER BY "lms_tales_taleschapter"."course_id" DESC, "lms_tales_taleschapter"."order" DESC LIMIT 1
0,76

Verbindung: default

Transaktionsstatus: Wartet

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/project/lms_base/templatetags/utils.py in get_previous_step(93)
  return step.get_previous(published_only=True)

/app/project/lms_base/models.py in get_previous(255)
  return self._get_neighbour_step(is_next=False, published_only=published_only)

/app/project/lms_base/models.py in _get_neighbour_step(218)
  chapter = chapter.get_previous(published_only=True)

/app/project/lms_base/models.py in get_previous(322)
  return self.__class__.next_previous_manager.get_next_previous(

/app/project/lms_base/models.py in get_next_previous(72)
  return qs.last()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(64)
  result = execute_query_func()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in <lambda>(80)
  execute_query_func = lambda: original(compiler, *args, **kwargs)

SELECT COUNT(*) AS "__count"
  FROM "lms_tales_talesstep"
 WHERE ("lms_tales_talesstep"."chapter_id" = 188 AND NOT "lms_tales_talesstep"."is_removed" AND "lms_tales_talesstep"."status" = 'published')
SELECT COUNT(*) AS "__count" FROM "lms_tales_talesstep" WHERE ("lms_tales_talesstep"."chapter_id" = 188 AND NOT "lms_tales_talesstep"."is_removed" AND "lms_tales_talesstep"."status" = 'published')
0,67

Verbindung: default

Transaktionsstatus: Wartet

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/project/lms_base/templatetags/utils.py in get_previous_step(93)
  return step.get_previous(published_only=True)

/app/project/lms_base/models.py in get_previous(255)
  return self._get_neighbour_step(is_next=False, published_only=published_only)

/app/project/lms_base/models.py in _get_neighbour_step(232)
  if qs.count() == 0:

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(64)
  result = execute_query_func()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in <lambda>(80)
  execute_query_func = lambda: original(compiler, *args, **kwargs)

SELECT "lms_tales_talesstep"."id",
       "lms_tales_talesstep"."created",
       "lms_tales_talesstep"."modified",
       "lms_tales_talesstep"."status_changed",
       "lms_tales_talesstep"."is_removed",
       "lms_tales_talesstep"."title",
       "lms_tales_talesstep"."title_de",
       "lms_tales_talesstep"."title_en",
       "lms_tales_talesstep"."title_fr",
       "lms_tales_talesstep"."subtitle",
       "lms_tales_talesstep"."subtitle_de",
       "lms_tales_talesstep"."subtitle_en",
       "lms_tales_talesstep"."subtitle_fr",
       "lms_tales_talesstep"."short_description",
       "lms_tales_talesstep"."short_description_de",
       "lms_tales_talesstep"."short_description_en",
       "lms_tales_talesstep"."short_description_fr",
       "lms_tales_talesstep"."title_image",
       "lms_tales_talesstep"."slug",
       "lms_tales_talesstep"."content",
       "lms_tales_talesstep"."content_de",
       "lms_tales_talesstep"."content_en",
       "lms_tales_talesstep"."content_fr",
       "lms_tales_talesstep"."content_html",
       "lms_tales_talesstep"."content_html_de",
       "lms_tales_talesstep"."content_html_en",
       "lms_tales_talesstep"."content_html_fr",
       "lms_tales_talesstep"."content_json",
       "lms_tales_talesstep"."content_json_de",
       "lms_tales_talesstep"."content_json_en",
       "lms_tales_talesstep"."content_json_fr",
       "lms_tales_talesstep"."copyright",
       "lms_tales_talesstep"."copyright_de",
       "lms_tales_talesstep"."copyright_en",
       "lms_tales_talesstep"."copyright_fr",
       "lms_tales_talesstep"."step_type",
       "lms_tales_talesstep"."duration",
       "lms_tales_talesstep"."order",
       "lms_tales_talesstep"."status",
       "lms_tales_talesstep"."allow_comments",
       "lms_tales_talesstep"."call_to_action",
       "lms_tales_talesstep"."call_to_action_de",
       "lms_tales_talesstep"."call_to_action_en",
       "lms_tales_talesstep"."call_to_action_fr",
       "lms_tales_talesstep"."chapter_id"
  FROM "lms_tales_talesstep"
 INNER JOIN "lms_tales_taleschapter"
    ON ("lms_tales_talesstep"."chapter_id" = "lms_tales_taleschapter"."id")
 WHERE ("lms_tales_talesstep"."chapter_id" = 188 AND NOT "lms_tales_talesstep"."is_removed" AND "lms_tales_talesstep"."status" = 'published')
 ORDER BY "lms_tales_taleschapter"."course_id" DESC,
          "lms_tales_taleschapter"."order" DESC,
          "lms_tales_talesstep"."order" DESC
 LIMIT 1
SELECT ••• FROM "lms_tales_talesstep" INNER JOIN "lms_tales_taleschapter" ON ("lms_tales_talesstep"."chapter_id" = "lms_tales_taleschapter"."id") WHERE ("lms_tales_talesstep"."chapter_id" = 188 AND NOT "lms_tales_talesstep"."is_removed" AND "lms_tales_talesstep"."status" = 'published') ORDER BY "lms_tales_taleschapter"."course_id" DESC, "lms_tales_taleschapter"."order" DESC, "lms_tales_talesstep"."order" DESC LIMIT 1
0,78

Verbindung: default

Transaktionsstatus: Wartet

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/project/lms_base/templatetags/utils.py in get_previous_step(93)
  return step.get_previous(published_only=True)

/app/project/lms_base/models.py in get_previous(255)
  return self._get_neighbour_step(is_next=False, published_only=published_only)

/app/project/lms_base/models.py in _get_neighbour_step(238)
  step = qs.last()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(64)
  result = execute_query_func()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in <lambda>(80)
  execute_query_func = lambda: original(compiler, *args, **kwargs)

SELECT "lms_tales_talesstep"."id",
       "lms_tales_talesstep"."created",
       "lms_tales_talesstep"."modified",
       "lms_tales_talesstep"."status_changed",
       "lms_tales_talesstep"."is_removed",
       "lms_tales_talesstep"."title",
       "lms_tales_talesstep"."title_de",
       "lms_tales_talesstep"."title_en",
       "lms_tales_talesstep"."title_fr",
       "lms_tales_talesstep"."subtitle",
       "lms_tales_talesstep"."subtitle_de",
       "lms_tales_talesstep"."subtitle_en",
       "lms_tales_talesstep"."subtitle_fr",
       "lms_tales_talesstep"."short_description",
       "lms_tales_talesstep"."short_description_de",
       "lms_tales_talesstep"."short_description_en",
       "lms_tales_talesstep"."short_description_fr",
       "lms_tales_talesstep"."title_image",
       "lms_tales_talesstep"."slug",
       "lms_tales_talesstep"."content",
       "lms_tales_talesstep"."content_de",
       "lms_tales_talesstep"."content_en",
       "lms_tales_talesstep"."content_fr",
       "lms_tales_talesstep"."content_html",
       "lms_tales_talesstep"."content_html_de",
       "lms_tales_talesstep"."content_html_en",
       "lms_tales_talesstep"."content_html_fr",
       "lms_tales_talesstep"."content_json",
       "lms_tales_talesstep"."content_json_de",
       "lms_tales_talesstep"."content_json_en",
       "lms_tales_talesstep"."content_json_fr",
       "lms_tales_talesstep"."copyright",
       "lms_tales_talesstep"."copyright_de",
       "lms_tales_talesstep"."copyright_en",
       "lms_tales_talesstep"."copyright_fr",
       "lms_tales_talesstep"."step_type",
       "lms_tales_talesstep"."duration",
       "lms_tales_talesstep"."order",
       "lms_tales_talesstep"."status",
       "lms_tales_talesstep"."allow_comments",
       "lms_tales_talesstep"."call_to_action",
       "lms_tales_talesstep"."call_to_action_de",
       "lms_tales_talesstep"."call_to_action_en",
       "lms_tales_talesstep"."call_to_action_fr",
       "lms_tales_talesstep"."chapter_id"
  FROM "lms_tales_talesstep"
 WHERE ("lms_tales_talesstep"."chapter_id" = 189 AND NOT "lms_tales_talesstep"."is_removed" AND "lms_tales_talesstep"."status" = 'published')
 ORDER BY "lms_tales_talesstep"."order" ASC
SELECT ••• FROM "lms_tales_talesstep" WHERE ("lms_tales_talesstep"."chapter_id" = 189 AND NOT "lms_tales_talesstep"."is_removed" AND "lms_tales_talesstep"."status" = 'published') ORDER BY "lms_tales_talesstep"."order" ASC
0,98

Verbindung: default

Transaktionsstatus: Wartet

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1064)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(715)
  obj = self.var.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(847)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in _resolve_lookup(914)
  current = current()

/app/project/lms_tales/models.py in get_step_number(121)
  step_list = list(self.chapter.published_steps.all().order_by("order"))

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(64)
  result = execute_query_func()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in <lambda>(80)
  execute_query_func = lambda: original(compiler, *args, **kwargs)

SELECT "lms_tales_talescoursefile"."id",
       "lms_tales_talescoursefile"."created",
       "lms_tales_talescoursefile"."modified",
       "lms_tales_talescoursefile"."title",
       "lms_tales_talescoursefile"."course_id",
       "lms_tales_talescoursefile"."file"
  FROM "lms_tales_talescoursefile"
 WHERE "lms_tales_talescoursefile"."id" = 370
 LIMIT 21
SELECT ••• FROM "lms_tales_talescoursefile" WHERE "lms_tales_talescoursefile"."id" = 370 LIMIT 21
2 ähnliche Abfragen.
0,91

Verbindung: default

Transaktionsstatus: Wartet

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(238)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1064)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(715)
  obj = self.var.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(847)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in _resolve_lookup(890)
  current = getattr(current, bit)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(64)
  result = execute_query_func()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in <lambda>(80)
  execute_query_func = lambda: original(compiler, *args, **kwargs)

SELECT "lms_tales_talescoursefile"."id",
       "lms_tales_talescoursefile"."created",
       "lms_tales_talescoursefile"."modified",
       "lms_tales_talescoursefile"."title",
       "lms_tales_talescoursefile"."course_id",
       "lms_tales_talescoursefile"."file"
  FROM "lms_tales_talescoursefile"
 WHERE "lms_tales_talescoursefile"."id" = 371
 LIMIT 21
SELECT ••• FROM "lms_tales_talescoursefile" WHERE "lms_tales_talescoursefile"."id" = 371 LIMIT 21
2 ähnliche Abfragen.
0,45

Verbindung: default

Transaktionsstatus: Wartet

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(238)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1064)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(715)
  obj = self.var.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(847)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in _resolve_lookup(890)
  current = getattr(current, bit)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(64)
  result = execute_query_func()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in <lambda>(80)
  execute_query_func = lambda: original(compiler, *args, **kwargs)

Statische Dateien (273 gefunden, 7 benutzt)

Pfad mit statischen Dateien

  1. /app/project/static

Apps mit statischen Dateien

  1. modeltranslation
  2. django.contrib.admin
  3. django_extensions
  4. markdownx
  5. django_htmx
  6. rosetta
  7. notifications
  8. debug_toolbar

Statische Dateien

images/icon_tales_white.png
/app/project/static/images/icon_tales_white.png
images/icon_tales_transp.png
/app/project/static/images/icon_tales_transp.png
lms_base/css/lms_base.css
/app/project/static/lms_base/css/lms_base.css
lms_tales/css/lms_tales.css
None
lms_base/js/lms_base.js
/app/project/static/lms_base/js/lms_base.js
lms_tales/js/lms_tales.js
/app/project/static/lms_tales/js/lms_tales.js
images/uni-basel-logo-de.svg
/app/project/static/images/uni-basel-logo-de.svg

django.contrib.staticfiles.finders.FileSystemFinder (123 Dateien)

Pfad Ort
robots.txt /app/project/static/robots.txt
alphorn_07.jpg /app/project/static/alphorn_07.jpg
browserconfig.xml /app/project/static/browserconfig.xml
alphorn_11.jpg /app/project/static/alphorn_11.jpg
lottie/optimized_tales_banner2.mp4 /app/project/static/lottie/optimized_tales_banner2.mp4
lottie/optimized_tales_banner_av1.webm /app/project/static/lottie/optimized_tales_banner_av1.webm
lottie/tales_banner3.mp4 /app/project/static/lottie/tales_banner3.mp4
lottie/optimized_tales_banner3.webm /app/project/static/lottie/optimized_tales_banner3.webm
lottie/optimized_tales_banner2.webm /app/project/static/lottie/optimized_tales_banner2.webm
lottie/tales_banner.json /app/project/static/lottie/tales_banner.json
lottie/optimized_tales_banner3.mp4 /app/project/static/lottie/optimized_tales_banner3.mp4
lottie/optimized_tales_banner_av1.mp4 /app/project/static/lottie/optimized_tales_banner_av1.mp4
lottie/optimized_tales_banner.mp4 /app/project/static/lottie/optimized_tales_banner.mp4
lottie/tales_banner2.mp4 /app/project/static/lottie/tales_banner2.mp4
lms_base/font/nmc.woff /app/project/static/lms_base/font/nmc.woff
lms_base/font/icon-left.woff2 /app/project/static/lms_base/font/icon-left.woff2
lms_base/font/nmc.woff2 /app/project/static/lms_base/font/nmc.woff2
lms_base/font/nmc.eot /app/project/static/lms_base/font/nmc.eot
lms_base/font/icon-left.woff /app/project/static/lms_base/font/icon-left.woff
lms_base/font/nmc.svg /app/project/static/lms_base/font/nmc.svg
lms_base/font/icon-left.svg /app/project/static/lms_base/font/icon-left.svg
lms_base/font/nmc.ttf /app/project/static/lms_base/font/nmc.ttf
lms_base/font/icon-left.eot /app/project/static/lms_base/font/icon-left.eot
lms_base/font/icon-left.ttf /app/project/static/lms_base/font/icon-left.ttf
lms_base/css/lms_base.css /app/project/static/lms_base/css/lms_base.css
lms_base/css/lms_base.css.map /app/project/static/lms_base/css/lms_base.css.map
lms_base/js/lms_base.js /app/project/static/lms_base/js/lms_base.js
lms_base/js/bootstrap.bundle.min.js /app/project/static/lms_base/js/bootstrap.bundle.min.js
reporting/css/report_pdf.css.map /app/project/static/reporting/css/report_pdf.css.map
reporting/css/report_pdf.css /app/project/static/reporting/css/report_pdf.css
reporting/images/nmcunilogo.png /app/project/static/reporting/images/nmcunilogo.png
reporting/images/background.jpg /app/project/static/reporting/images/background.jpg
dropzone/dropzone.min.css /app/project/static/dropzone/dropzone.min.css
dropzone/dropzone-amd-module.min.js /app/project/static/dropzone/dropzone-amd-module.min.js
dropzone/basic.min.css /app/project/static/dropzone/basic.min.css
dropzone/dropzone.min.js /app/project/static/dropzone/dropzone.min.js
lms_tales/font/nmc.woff /app/project/static/lms_tales/font/nmc.woff
lms_tales/font/icon-left.woff2 /app/project/static/lms_tales/font/icon-left.woff2
lms_tales/font/nmc.woff2 /app/project/static/lms_tales/font/nmc.woff2
lms_tales/font/nmc.eot /app/project/static/lms_tales/font/nmc.eot
lms_tales/font/icon-left.woff /app/project/static/lms_tales/font/icon-left.woff
lms_tales/font/nmc.svg /app/project/static/lms_tales/font/nmc.svg
lms_tales/font/icon-left.svg /app/project/static/lms_tales/font/icon-left.svg
lms_tales/font/nmc.ttf /app/project/static/lms_tales/font/nmc.ttf
lms_tales/font/icon-left.eot /app/project/static/lms_tales/font/icon-left.eot
lms_tales/font/icon-left.ttf /app/project/static/lms_tales/font/icon-left.ttf
lms_tales/js/lms_tales.js /app/project/static/lms_tales/js/lms_tales.js
opos/4_4.html /app/project/static/opos/4_4.html
opos/4_3.html /app/project/static/opos/4_3.html
opos/4_5.html /app/project/static/opos/4_5.html
opos/4_1.html /app/project/static/opos/4_1.html
tales_editor/favicon.ico /app/project/static/tales_editor/favicon.ico
tales_editor/index.html /app/project/static/tales_editor/index.html
tales_editor/css/chunk-vendors.css /app/project/static/tales_editor/css/chunk-vendors.css
tales_editor/css/app.css /app/project/static/tales_editor/css/app.css
tales_editor/img/bootstrap-icons.svg /app/project/static/tales_editor/img/bootstrap-icons.svg
tales_editor/img/remixicon.symbol.svg /app/project/static/tales_editor/img/remixicon.symbol.svg
tales_editor/js/app.js /app/project/static/tales_editor/js/app.js
tales_editor/js/app.js.map /app/project/static/tales_editor/js/app.js.map
tales_editor/js/chunk-vendors.js /app/project/static/tales_editor/js/chunk-vendors.js
tales_editor/js/chunk-vendors.js.map /app/project/static/tales_editor/js/chunk-vendors.js.map
images/opos_map_xs.png /app/project/static/images/opos_map_xs.png
images/opos_map_xl.png /app/project/static/images/opos_map_xl.png
images/edu-id-button-gray.png /app/project/static/images/edu-id-button-gray.png
images/icon_tales_mint.png /app/project/static/images/icon_tales_mint.png
images/favicon.ico /app/project/static/images/favicon.ico
images/door.jpg /app/project/static/images/door.jpg
images/icon_tales_transp_32x32.png /app/project/static/images/icon_tales_transp_32x32.png
images/uni-basel-logo-de.svg /app/project/static/images/uni-basel-logo-de.svg
images/raymond_ammann.jpg /app/project/static/images/raymond_ammann.jpg
images/help_en.jpg /app/project/static/images/help_en.jpg
images/opos_map_xs.avif /app/project/static/images/opos_map_xs.avif
images/opos_map_md.png /app/project/static/images/opos_map_md.png
images/help_de.jpg /app/project/static/images/help_de.jpg
images/bild.png /app/project/static/images/bild.png
images/help.jpg /app/project/static/images/help.jpg
images/Hochformat.jpg /app/project/static/images/Hochformat.jpg
images/empty_classroom.jpg /app/project/static/images/empty_classroom.jpg
images/uni-basel-logo-de.png /app/project/static/images/uni-basel-logo-de.png
images/contact-side-image-1.jpg /app/project/static/images/contact-side-image-1.jpg
images/icon_tales_white.png /app/project/static/images/icon_tales_white.png
images/portalflag.png /app/project/static/images/portalflag.png
images/uni-basel-logo-en.svg /app/project/static/images/uni-basel-logo-en.svg
images/contact-side-image-2.jpg /app/project/static/images/contact-side-image-2.jpg
images/alp_und_hirtenhorn.jpg /app/project/static/images/alp_und_hirtenhorn.jpg
images/icon_tales_transp.png /app/project/static/images/icon_tales_transp.png
images/Weltkarte_Opos.png /app/project/static/images/Weltkarte_Opos.png
images/batkitty.jpg /app/project/static/images/batkitty.jpg
images/help_fr.jpg /app/project/static/images/help_fr.jpg
nahtkurs_glossar/antikoagu.jpg /app/project/static/nahtkurs_glossar/antikoagu.jpg
nahtkurs_glossar/anamnese.jpg /app/project/static/nahtkurs_glossar/anamnese.jpg
nahtkurs_glossar/wundinfektion.jpg /app/project/static/nahtkurs_glossar/wundinfektion.jpg
nahtkurs_glossar/tensilestength.jpg /app/project/static/nahtkurs_glossar/tensilestength.jpg
nahtkurs_glossar/glucose.jpg /app/project/static/nahtkurs_glossar/glucose.jpg
nahtkurs_glossar/nacl.jpg /app/project/static/nahtkurs_glossar/nacl.jpg
sounds/temperiert_nr_7.mp3 /app/project/static/sounds/temperiert_nr_7.mp3
sounds/alphorn_13.mp3 /app/project/static/sounds/alphorn_13.mp3
sounds/alphorn_05.mp3 /app/project/static/sounds/alphorn_05.mp3
sounds/alphorn_11.mp3 /app/project/static/sounds/alphorn_11.mp3
sounds/naturton_nr_7.mp3 /app/project/static/sounds/naturton_nr_7.mp3
sounds/hirtenhorn_04.mp3 /app/project/static/sounds/hirtenhorn_04.mp3
sounds/alphorn_14.mp3 /app/project/static/sounds/alphorn_14.mp3
sounds/alphorn_01.mp3 /app/project/static/sounds/alphorn_01.mp3
sounds/alphorn_12.mp3 /app/project/static/sounds/alphorn_12.mp3
sounds/alphorn_02.mp3 /app/project/static/sounds/alphorn_02.mp3
sounds/alphorn_09.mp3 /app/project/static/sounds/alphorn_09.mp3
sounds/alphorn_04.mp3 /app/project/static/sounds/alphorn_04.mp3
sounds/alphorn_15.mp3 /app/project/static/sounds/alphorn_15.mp3
sounds/hirtenhorn_07.mp3 /app/project/static/sounds/hirtenhorn_07.mp3
sounds/alphorn_08.mp3 /app/project/static/sounds/alphorn_08.mp3
sounds/alphorn_03.mp3 /app/project/static/sounds/alphorn_03.mp3
sounds/hirtenhorn_02.mp3 /app/project/static/sounds/hirtenhorn_02.mp3
sounds/alphorn_10.mp3 /app/project/static/sounds/alphorn_10.mp3
sounds/hirtenhorn_01.mp3 /app/project/static/sounds/hirtenhorn_01.mp3
sounds/hirtenhorn_06.mp3 /app/project/static/sounds/hirtenhorn_06.mp3
sounds/alphorn_07.mp3 /app/project/static/sounds/alphorn_07.mp3
sounds/temperiert_nr_11.mp3 /app/project/static/sounds/temperiert_nr_11.mp3
sounds/hirtenhorn_08.mp3 /app/project/static/sounds/hirtenhorn_08.mp3
sounds/naturton_nr_11.mp3 /app/project/static/sounds/naturton_nr_11.mp3
sounds/alphorn_16.mp3 /app/project/static/sounds/alphorn_16.mp3
sounds/hirtenhorn_05.mp3 /app/project/static/sounds/hirtenhorn_05.mp3
sounds/hirtenhorn_03.mp3 /app/project/static/sounds/hirtenhorn_03.mp3
sounds/alphorn_06.mp3 /app/project/static/sounds/alphorn_06.mp3

django.contrib.staticfiles.finders.AppDirectoriesFinder (150 Dateien)

Pfad Ort
modeltranslation/css/tabbed_translation_fields.css /usr/local/lib/python3.11/site-packages/modeltranslation/static/modeltranslation/css/tabbed_translation_fields.css
modeltranslation/js/clearable_inputs.js /usr/local/lib/python3.11/site-packages/modeltranslation/static/modeltranslation/js/clearable_inputs.js
modeltranslation/js/tabbed_translation_fields.js /usr/local/lib/python3.11/site-packages/modeltranslation/static/modeltranslation/js/tabbed_translation_fields.js
modeltranslation/js/force_jquery.js /usr/local/lib/python3.11/site-packages/modeltranslation/static/modeltranslation/js/force_jquery.js
admin/css/autocomplete.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/autocomplete.css
admin/css/responsive.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/responsive.css
admin/css/widgets.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/widgets.css
admin/css/changelists.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/changelists.css
admin/css/dark_mode.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/dark_mode.css
admin/css/responsive_rtl.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/responsive_rtl.css
admin/css/nav_sidebar.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/nav_sidebar.css
admin/css/dashboard.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/dashboard.css
admin/css/forms.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/forms.css
admin/css/rtl.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/rtl.css
admin/css/login.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/login.css
admin/css/base.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/base.css
admin/css/vendor/select2/select2.min.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.min.css
admin/css/vendor/select2/select2.css /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.css
admin/css/vendor/select2/LICENSE-SELECT2.md /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md
admin/img/icon-clock.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-clock.svg
admin/img/sorting-icons.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/sorting-icons.svg
admin/img/icon-alert.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-alert.svg
admin/img/icon-changelink.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-changelink.svg
admin/img/selector-icons.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/selector-icons.svg
admin/img/calendar-icons.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/calendar-icons.svg
admin/img/tooltag-arrowright.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/tooltag-arrowright.svg
admin/img/inline-delete.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/inline-delete.svg
admin/img/icon-yes.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-yes.svg
admin/img/icon-unknown-alt.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-unknown-alt.svg
admin/img/icon-viewlink.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-viewlink.svg
admin/img/search.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/search.svg
admin/img/icon-deletelink.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-deletelink.svg
admin/img/README.txt /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/README.txt
admin/img/LICENSE /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/LICENSE
admin/img/icon-calendar.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-calendar.svg
admin/img/tooltag-add.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/tooltag-add.svg
admin/img/icon-unknown.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-unknown.svg
admin/img/icon-addlink.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-addlink.svg
admin/img/icon-no.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-no.svg
admin/img/gis/move_vertex_off.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg
admin/img/gis/move_vertex_on.svg /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg
admin/js/SelectBox.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/SelectBox.js
admin/js/jquery.init.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/jquery.init.js
admin/js/inlines.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/inlines.js
admin/js/collapse.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/collapse.js
admin/js/filters.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/filters.js
admin/js/change_form.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/change_form.js
admin/js/autocomplete.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/autocomplete.js
admin/js/nav_sidebar.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/nav_sidebar.js
admin/js/popup_response.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/popup_response.js
admin/js/SelectFilter2.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js
admin/js/actions.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/actions.js
admin/js/core.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/core.js
admin/js/cancel.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/cancel.js
admin/js/prepopulate.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/prepopulate.js
admin/js/urlify.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/urlify.js
admin/js/calendar.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/calendar.js
admin/js/prepopulate_init.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/prepopulate_init.js
admin/js/theme.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/theme.js
admin/js/admin/DateTimeShortcuts.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js
admin/js/admin/RelatedObjectLookups.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js
admin/js/vendor/select2/select2.full.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.js
admin/js/vendor/select2/select2.full.min.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js
admin/js/vendor/select2/LICENSE.md /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md
admin/js/vendor/select2/i18n/zh-CN.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js
admin/js/vendor/select2/i18n/sr-Cyrl.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js
admin/js/vendor/select2/i18n/uk.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js
admin/js/vendor/select2/i18n/ar.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js
admin/js/vendor/select2/i18n/ka.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ka.js
admin/js/vendor/select2/i18n/bn.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bn.js
admin/js/vendor/select2/i18n/pt.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js
admin/js/vendor/select2/i18n/hi.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js
admin/js/vendor/select2/i18n/dsb.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/dsb.js
admin/js/vendor/select2/i18n/bs.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bs.js
admin/js/vendor/select2/i18n/ru.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js
admin/js/vendor/select2/i18n/ms.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js
admin/js/vendor/select2/i18n/et.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js
admin/js/vendor/select2/i18n/sl.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sl.js
admin/js/vendor/select2/i18n/he.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js
admin/js/vendor/select2/i18n/is.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js
admin/js/vendor/select2/i18n/cs.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js
admin/js/vendor/select2/i18n/sq.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sq.js
admin/js/vendor/select2/i18n/sv.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js
admin/js/vendor/select2/i18n/ne.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ne.js
admin/js/vendor/select2/i18n/ko.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js
admin/js/vendor/select2/i18n/vi.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js
admin/js/vendor/select2/i18n/ca.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js
admin/js/vendor/select2/i18n/id.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js
admin/js/vendor/select2/i18n/nb.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js
admin/js/vendor/select2/i18n/hr.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js
admin/js/vendor/select2/i18n/af.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/af.js
admin/js/vendor/select2/i18n/de.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js
admin/js/vendor/select2/i18n/mk.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js
admin/js/vendor/select2/i18n/hy.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hy.js
admin/js/vendor/select2/i18n/it.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js
admin/js/vendor/select2/i18n/hu.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js
admin/js/vendor/select2/i18n/ja.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js
admin/js/vendor/select2/i18n/sk.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js
admin/js/vendor/select2/i18n/hsb.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hsb.js
admin/js/vendor/select2/i18n/ro.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js
admin/js/vendor/select2/i18n/en.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js
admin/js/vendor/select2/i18n/el.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js
admin/js/vendor/select2/i18n/fa.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js
admin/js/vendor/select2/i18n/pt-BR.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js
admin/js/vendor/select2/i18n/da.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js
admin/js/vendor/select2/i18n/sr.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js
admin/js/vendor/select2/i18n/ps.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ps.js
admin/js/vendor/select2/i18n/lt.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js
admin/js/vendor/select2/i18n/az.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js
admin/js/vendor/select2/i18n/fr.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js
admin/js/vendor/select2/i18n/fi.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js
admin/js/vendor/select2/i18n/tk.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tk.js
admin/js/vendor/select2/i18n/th.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js
admin/js/vendor/select2/i18n/gl.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js
admin/js/vendor/select2/i18n/eu.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js
admin/js/vendor/select2/i18n/es.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js
admin/js/vendor/select2/i18n/km.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js
admin/js/vendor/select2/i18n/bg.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js
admin/js/vendor/select2/i18n/lv.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js
admin/js/vendor/select2/i18n/zh-TW.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js
admin/js/vendor/select2/i18n/pl.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js
admin/js/vendor/select2/i18n/tr.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js
admin/js/vendor/select2/i18n/nl.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js
admin/js/vendor/xregexp/xregexp.min.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js
admin/js/vendor/xregexp/LICENSE.txt /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt
admin/js/vendor/xregexp/xregexp.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js
admin/js/vendor/jquery/jquery.min.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js
admin/js/vendor/jquery/jquery.js /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js
admin/js/vendor/jquery/LICENSE.txt /usr/local/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt
django_extensions/css/jquery.autocomplete.css /usr/local/lib/python3.11/site-packages/django_extensions/static/django_extensions/css/jquery.autocomplete.css
django_extensions/img/indicator.gif /usr/local/lib/python3.11/site-packages/django_extensions/static/django_extensions/img/indicator.gif
django_extensions/js/jquery.ajaxQueue.js /usr/local/lib/python3.11/site-packages/django_extensions/static/django_extensions/js/jquery.ajaxQueue.js
django_extensions/js/jquery.autocomplete.js /usr/local/lib/python3.11/site-packages/django_extensions/static/django_extensions/js/jquery.autocomplete.js
django_extensions/js/jquery.bgiframe.js /usr/local/lib/python3.11/site-packages/django_extensions/static/django_extensions/js/jquery.bgiframe.js
markdownx/admin/css/markdownx.css /usr/local/lib/python3.11/site-packages/markdownx/static/markdownx/admin/css/markdownx.css
markdownx/admin/css/markdownx.min.css /usr/local/lib/python3.11/site-packages/markdownx/static/markdownx/admin/css/markdownx.min.css
markdownx/js/markdownx.min.js /usr/local/lib/python3.11/site-packages/markdownx/static/markdownx/js/markdownx.min.js
markdownx/js/markdownx.js /usr/local/lib/python3.11/site-packages/markdownx/static/markdownx/js/markdownx.js
django-htmx.js /usr/local/lib/python3.11/site-packages/django_htmx/static/django-htmx.js
admin/rosetta/css/rosetta.css /usr/local/lib/python3.11/site-packages/rosetta/static/admin/rosetta/css/rosetta.css
admin/rosetta/js/rosetta.js /usr/local/lib/python3.11/site-packages/rosetta/static/admin/rosetta/js/rosetta.js
admin/img/icon_searchbox_rosetta.png /usr/local/lib/python3.11/site-packages/rosetta/static/admin/img/icon_searchbox_rosetta.png
notifications/notify.js /usr/local/lib/python3.11/site-packages/notifications/static/notifications/notify.js
debug_toolbar/css/toolbar.css /usr/local/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/css/toolbar.css
debug_toolbar/css/print.css /usr/local/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/css/print.css
debug_toolbar/js/utils.js /usr/local/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/utils.js
debug_toolbar/js/toolbar.js /usr/local/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/toolbar.js
debug_toolbar/js/history.js /usr/local/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/history.js
debug_toolbar/js/timer.js /usr/local/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/timer.js
debug_toolbar/js/redirect.js /usr/local/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/redirect.js

Templates (6 gerendert)

Template-Pfade

  1. /app/project/templates
  2. /usr/local/lib/python3.11/site-packages/django/forms/templates

Templates

step/step_home.html
/app/project/lms_tales/templates/step/step_home.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '5b754a71', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'eOqk4gkccY6pDhLKWzlf9cxNb7CDCT5EekvG0lMVUqNnJ9jL0Fb6LNDsrtXKzLRG'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/from-ink-to-sound-32/coordination-in-rhythm-modal-notation-189/cantus-and-discantus-928'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x75245a4db010>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x75245a4db010>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_languages': [('en', 'Englisch')], 'course': <TalesCourse: From Ink to Sound>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'object': <TalesStep: Cantus and discantus>, 'talesstep': <TalesStep: Cantus and discantus>, 'view': <lms_tales.views.step_views.StepDetails object at 0x75245aafc390>}
lms_tales_base.html
/app/project/templates/lms_tales_base.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '5b754a71', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'eOqk4gkccY6pDhLKWzlf9cxNb7CDCT5EekvG0lMVUqNnJ9jL0Fb6LNDsrtXKzLRG'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/from-ink-to-sound-32/coordination-in-rhythm-modal-notation-189/cantus-and-discantus-928'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x75245a4db010>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x75245a4db010>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_languages': [('en', 'Englisch')], 'course': <TalesCourse: From Ink to Sound>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'object': <TalesStep: Cantus and discantus>, 'talesstep': <TalesStep: Cantus and discantus>, 'view': <lms_tales.views.step_views.StepDetails object at 0x75245aafc390>}
base.html
/app/project/templates/base.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '5b754a71', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'eOqk4gkccY6pDhLKWzlf9cxNb7CDCT5EekvG0lMVUqNnJ9jL0Fb6LNDsrtXKzLRG'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/from-ink-to-sound-32/coordination-in-rhythm-modal-notation-189/cantus-and-discantus-928'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x75245a4db010>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x75245a4db010>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_languages': [('en', 'Englisch')], 'course': <TalesCourse: From Ink to Sound>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'object': <TalesStep: Cantus and discantus>, 'talesstep': <TalesStep: Cantus and discantus>, 'view': <lms_tales.views.step_views.StepDetails object at 0x75245aafc390>}
components/header.html
/app/project/templates/components/header.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '5b754a71', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'eOqk4gkccY6pDhLKWzlf9cxNb7CDCT5EekvG0lMVUqNnJ9jL0Fb6LNDsrtXKzLRG'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/from-ink-to-sound-32/coordination-in-rhythm-modal-notation-189/cantus-and-discantus-928'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x75245a4db010>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x75245a4db010>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_languages': [('en', 'Englisch')], 'course': <TalesCourse: From Ink to Sound>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'object': <TalesStep: Cantus and discantus>, 'talesstep': <TalesStep: Cantus and discantus>, 'view': <lms_tales.views.step_views.StepDetails object at 0x75245aafc390>} {'block': <Block Node: header. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"components/header.html"'>>, <TextNode: '\n '>]>}
components/sidebar-navigation.html
/app/project/templates/components/sidebar-navigation.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '5b754a71', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'eOqk4gkccY6pDhLKWzlf9cxNb7CDCT5EekvG0lMVUqNnJ9jL0Fb6LNDsrtXKzLRG'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/from-ink-to-sound-32/coordination-in-rhythm-modal-notation-189/cantus-and-discantus-928'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x75245a4db010>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x75245a4db010>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_languages': [('en', 'Englisch')], 'course': <TalesCourse: From Ink to Sound>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'object': <TalesStep: Cantus and discantus>, 'talesstep': <TalesStep: Cantus and discantus>, 'view': <lms_tales.views.step_views.StepDetails object at 0x75245aafc390>} {'block': <Block Node: sidebar-nav. Contents: [<TextNode: '\n <nav id="sid'>, <django.template.library.SimpleNode object at 0x75245a8a7c10>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x75245a0b4810>, <TextNode: '</span>\n '>, <IfNode>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x75245a3747d0>, <TextNode: '>\n '>, <django.templatetags.i18n.TranslateNode object at 0x75245ae2e850>, <TextNode: '</span>\n '>, <Block Node: navigation. Contents: [<TextNode: '\n '>]>, <TextNode: '\n </div>\n '>]>} {'block': <Block Node: navigation. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"components/sidebar-navigation.html"'>>, <TextNode: '\n'>]>}
step/step-title.html
/app/project/lms_tales/templates/step/step-title.html
Context zeigen {'False': False, 'None': None, 'True': True} {'CI_COMMIT_SHORT_SHA': '5b754a71', 'CI_COMMIT_TAG': '', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'DEPLOY_ENV': 'staging', 'LANGUAGES': '<<languages>>', 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'de', 'MEDIA_URL': '/media/', 'RELEASE_NAME': '', 'STATIC_URL': '/static/', 'TIME_ZONE': 'Europe/Zurich', 'csrf_token': '<SimpleLazyObject: ' "'eOqk4gkccY6pDhLKWzlf9cxNb7CDCT5EekvG0lMVUqNnJ9jL0Fb6LNDsrtXKzLRG'>", 'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/from-ink-to-sound-32/coordination-in-rhythm-modal-notation-189/cantus-and-discantus-928'>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x75245a4db010>>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <SimpleLazyObject: ' '<django.contrib.auth.models.AnonymousUser object at ' '0x75245a4db010>>>'} {'active_courseruns': [], 'active_courserunsteps': [], 'active_language_available': False, 'available_languages': [('en', 'Englisch')], 'course': <TalesCourse: From Ink to Sound>, 'course_contact': '', 'files': '<<queryset of lms_tales.TalesStepFileNew>>', 'object': <TalesStep: Cantus and discantus>, 'talesstep': <TalesStep: Cantus and discantus>, 'view': <lms_tales.views.step_views.StepDetails object at 0x75245aafc390>} {'block': <Block Node: breadcrumb-bar. Contents: [<TextNode: '\n <div id="tit'>, <Block Node: sidebar-arrow. Contents: [<TextNode: '\n <div'>, <django.template.library.SimpleNode object at 0x75245a374910>, <TextNode: '\n '>, <django.templatetags.i18n.TranslateNode object at 0x75245a374750>, <TextNode: '</span>\n '>]>, <TextNode: '\n <div cla'>, <Block Node: breadcrumb. Contents: [<TextNode: '\n '>]>, <TextNode: '\n '>]>} {'block': <Block Node: breadcrumb. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression '"step/step-title.html"'>>, <TextNode: '\n'>]>}

Context-Prozessoren

django.template.context_processors.csrf
Context zeigen {'csrf_token': <SimpleLazyObject: 'eOqk4gkccY6pDhLKWzlf9cxNb7CDCT5EekvG0lMVUqNnJ9jL0Fb6LNDsrtXKzLRG'>}
django.template.context_processors.debug
Context zeigen {}
django.template.context_processors.request
Context zeigen {'request': <ASGIRequest: GET '/de/from-ink-to-sound-32/coordination-in-rhythm-modal-notation-189/cantus-and-discantus-928'>}
django.contrib.auth.context_processors.auth
Context zeigen {'user': <SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x75245a4db010>>>, 'perms': PermWrapper(<SimpleLazyObject: <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x75245a4db010>>>)}
django.template.context_processors.i18n
Context zeigen {'LANGUAGES': (('de', 'Deutsch'), ('en', 'Englisch'), ('fr', 'Franzoesisch')), 'LANGUAGE_CODE': 'de', 'LANGUAGE_BIDI': False}
django.template.context_processors.media
Context zeigen {'MEDIA_URL': '/media/'}
django.template.context_processors.static
Context zeigen {'STATIC_URL': '/static/'}
django.template.context_processors.tz
Context zeigen {'TIME_ZONE': 'Europe/Zurich'}
django.contrib.messages.context_processors.messages
Context zeigen {'messages': <FallbackStorage: request=<ASGIRequest: GET '/de/from-ink-to-sound-32/coordination-in-rhythm-modal-notation-189/cantus-and-discantus-928'>>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}}
utils.context_processors.ci_info
Context zeigen {'CI_COMMIT_TAG': '', 'CI_COMMIT_SHORT_SHA': '5b754a71', 'RELEASE_NAME': '', 'DEPLOY_ENV': 'staging'}

Cache-Aufrufe von 1 Backend

Zusammenfassung

Aufrufe gesamt Zeit gesamt Cache erfolgreich Cache verfehlt
52 18,273615278303623 ms 171 1

Befehle

add get set get_or_set touch delete clear get_many set_many delete_many has_key incr decr incr_version decr_version
0 5 1 0 0 0 0 36 10 0 0 0 0 0 0

Aufrufe

Zeit (ms) Typ Argumente Schlüsselwort-Argumente Backend
0,7026 get_many (dict_keys(['b5ac959681ff06eff632d25a5961a4d3cad09b42', '542c27005f4e84288827ce70a7d49bc73324a5e7', '887f8247d0ff979264c73b069f790024b2aa98e1', 'a2cec6efb2cb51d9fcdc73ec65d0d02848d3205f', 'af167bf678e72a9b2a64d8869d420b8d25e96148', 'f2b266a5acd7f191551fca80dea8475d456a300c', 'e5890f0f95e54c95fc7d85ffd3cd8f5079a384eb', '7d22fa9ec7aaf50b239b17bb4529f27be72f4b3d', 'fab86eaeb6f68c1bd14e3c42d6a32fc63fe5c10b', '1671d58e08fb6227d160e4add3baac34f778006f', '5634047d837b3106d3997f0611a298a16f6754cb', '38c0c9db04f183fb89086db2a3a02d20d5c1cbda', '33cd0b10f8c2fd53802b0948820b8b58da6bb27c', 'dbdc4e6f3de4931fbb7e39044291d87c49a581a7', 'bf555e2c224baeeac5838ee69c053900ce037b1d', '452aaa2adbf5d826d715538ebfd87013a599bacd', '5ef73f3d610667d7836abd847979ad8d02582140', '28b4f1c78186b497fc0611b76d5609a36a170804', 'acd1c2a120952e0445e89d8a2cc8faa99cc73454', '3fdb5b63faddfa01f5ebd09a89b74c9b3ec742bf', 'bc41695a90f568da6f9c44d14dbb30130bea76db', '6d6bdc7046f6d1410bd41d09cd570831af97fd31', '2288e6f142e998339c6d4985913358f76533a29e', 'f6e1a4d48790db63f8cb8c5653192a74ca00d34a', 'e19dd8b0e8a705c5914b55bbeb94d01f20e5368e', 'bf2a5aa392ac965fc14b9cc5fc8fcce588b2cf57', '9de26d60cec57eaab1ec19a62cf772073ae0e30f', '138549f5508bbba7283d6a0625e51c589d845e8f', '4f1f0b4dfbd30463b5587753e6f3e6ca21ddbf60', 'd890e5bc0b77c02793036efa76f50a25770a52a7', 'd00779073776b2287204a6fa5336494275fc73d5', '76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '312c357d2eed306581bb334378808fbccf7019ea', 'd144abeb0db81d5dfea390a27c6d616aa1783141', 'b33158a576dd24b41063563867ce3f9044eb1acf', 'a78875b90f65061214a7b7eaa1a66176310060a1', 'd1accdb7a5e2af4fd7d0fc7e34b048f555cd65a0', '51329f4ee437847bebcfe01e681846839a46ad85', '05c5fe43455b028dee7ff3de1f3e2b4732238c9d', '0b7593abe25ebbf222c98d71b199a17877e17478', 'da8bff0e0d25742e869a69b7508c37ccde5f8f33', '0098dff618e4e4ce8b226fb3dcd5d9042e69eb75', '8e3f73e6feaebee5ffbc4479f566917f08b4bbca', '5c50c6b3292213266ec6601a46b9ff857efec10a', '9ba11033f2e0b0478fa7ea0cfcde90c7ea880b1b', '810de96c2cc412e55eb18a19206c9b4f4879ec68', 'da75293c9ac4e9ae833da9fecd1ab668d629ce49', 'e4392949c2513e35c4d436a230e913efc13e4556', '9a3409722cd89bb29bc78c6bd4bca2cc2aad3e96', '5bd1ef7c64b457cbb725c42d97969db3ebe85f66', 'f3d241856fbbba355385868203e06010b65b882e', '1511f7c2f0ac6c43b58dfa27858c3d8561280f80', 'e2a6b84fc2a64f0ca59dd6e95fe6e1a5f3850ad5', 'b72f66480a030f14a954ea7eeb482d64fa1da084', '9e3a2b98ae55fa975425fa81a4e6e13342147b8a', '0e90ed3afbea5b3254d013a2b352642aaa2ce984', '2b2eb1f58e7ba0ac1ae04f9e9c95bde41f64e3fc', 'f38ac9d1db097d95b5062273e0a941d2da616361', 'cf84cec99a10af4507238b31bfce2171063a0c1d', 'c9b253ceb06244b30c24377ae68ae44353b4b3c4', '946a725506b18b4afe14d273540101238984908d']),) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(40)
  self.collect_invalidations()

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in collect_invalidations(52)
  for cache_key, timestamp in cache.get_many(

0,1914 get ('view_cache_view_/de/from-ink-to-sound-32/coordination-in-rhythm-modal-notation-189/cantus-and-discantus-928_anonymous', None) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(58)
  response = cache.get(CACHE_KEY, None)

0,3122 get_many (['138549f5508bbba7283d6a0625e51c589d845e8f', 'ca9e8afd129195939d5d00b29b47e35df25a91aa'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(64)
  response = function(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/base.py in view(104)
  return self.dispatch(request, *args, **kwargs)

/app/project/lms_tales/views/mixins.py in dispatch(20)
  self.object = self.get_object()

/usr/local/lib/python3.11/site-packages/django/views/generic/detail.py in get_object(53)
  obj = queryset.get()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,4063 set_many ({'ca9e8afd129195939d5d00b29b47e35df25a91aa': (1736590801.3840342, [[(928, datetime.datetime(2021, 9, 13, 8, 50, 35, 557539, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 14, 58, 6, 146231, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 14, 58, 6, 93448, tzinfo=datetime.timezone.utc), False, 'Cantus and discantus', None, 'Cantus and discantus', None, '', None, None, None, '', None, None, None, 'from-ink-to-sound/coordination-in-rhythm-modal-notation/early-polyphony/003.jpg', 'cantus-and-discantus', 'In this video you will get some basic information about the historical development of polyphony in Western music history. You will also become acquainted with a new form of noting music: the modal notation. \r\n{.lead}\r\n\r\n![embed](https://vimeo.com/690889825/91cba73a60)\r\n \r\nPreviously you explored how liturgical chant was noted down, starting from the late Carolingian times until the crucial transition from the neumes without lines to square notation. Let us now address the polyphony of the 12th and 13th centuries. A good example is the so-called Notre Dame school. The name stands for a group of musicians active in Paris between about 1150 and about 1250. They composed a large number of polyphonic settings of liturgical music. \r\n\r\nThe Ensemble Gilles Binchois under the direction of Dominique Vellard sings the monophonic Gradual *Benedicta et Venerabilis*. The video also presents two polyphonic clausulae *Go* and the motet *O Maria mater pia* from the manuscript Firenze, Biblioteca Medicea Laurenziana, Plut. 29.1, fol. 11r, 165r and 393r–v that are derived from the monophonic Gradual.', '', 'In this video you will get some basic information about the historical development of polyphony in Western music history. You will also become acquainted with a new form of noting music: the modal notation. \r\n{.lead}\r\n\r\n![embed](https://vimeo.com/690889825/91cba73a60)\r\n \r\nPreviously you explored how liturgical chant was noted down, starting from the late Carolingian times until the crucial transition from the neumes without lines to square notation. Let us now address the polyphony of the 12th and 13th centuries. A good example is the so-called Notre Dame school. The name stands for a group of musicians active in Paris between about 1150 and about 1250. They composed a large number of polyphonic settings of liturgical music. \r\n\r\nThe Ensemble Gilles Binchois under the direction of Dominique Vellard sings the monophonic Gradual *Benedicta et Venerabilis*. The video also presents two polyphonic clausulae *Go* and the motet *O Maria mater pia* from the manuscript Firenze, Biblioteca Medicea Laurenziana, Plut. 29.1, fol. 11r, 165r and 393r–v that are derived from the monophonic Gradual.', '', '', '', '', '', None, None, None, None, 'Copyright: University of Basel', '', 'Copyright: University of Basel', '', 'TV', '', 0, 'published', True, "Please share your thoughts and questions in the [comments](#comments) section below. Feel free to answer your colleagues' questions - if you feel able to do so.", None, "Please share your thoughts and questions in the [comments](#comments) section below. Feel free to answer your colleagues' questions - if you feel able to do so.", None, 189)]])}, None) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(64)
  response = function(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/base.py in view(104)
  return self.dispatch(request, *args, **kwargs)

/app/project/lms_tales/views/mixins.py in dispatch(20)
  self.object = self.get_object()

/usr/local/lib/python3.11/site-packages/django/views/generic/detail.py in get_object(53)
  obj = queryset.get()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(71)
  cache.set_many(to_be_set, cachalot_settings.CACHALOT_TIMEOUT)

0,4121 get_many (['138549f5508bbba7283d6a0625e51c589d845e8f', 'ca9e8afd129195939d5d00b29b47e35df25a91aa'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(64)
  response = function(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/base.py in view(104)
  return self.dispatch(request, *args, **kwargs)

/app/project/lms_tales/views/mixins.py in dispatch(31)
  return super().dispatch(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/base.py in dispatch(143)
  return handler(request, *args, **kwargs)

/app/project/lms_tales/views/step_views.py in get(36)
  response = super().get(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/detail.py in get(108)
  self.object = self.get_object()

/usr/local/lib/python3.11/site-packages/django/views/generic/detail.py in get_object(53)
  obj = queryset.get()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3849 get_many (['138549f5508bbba7283d6a0625e51c589d845e8f', '4f1f0b4dfbd30463b5587753e6f3e6ca21ddbf60', '9a3bb3d750415727c26eb53e3b0a675b5cd3a19e'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(64)
  response = function(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/base.py in view(104)
  return self.dispatch(request, *args, **kwargs)

/app/project/lms_tales/views/mixins.py in dispatch(31)
  return super().dispatch(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/base.py in dispatch(143)
  return handler(request, *args, **kwargs)

/app/project/lms_tales/views/step_views.py in get(36)
  response = super().get(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/detail.py in get(109)
  context = self.get_context_data(object=self.object)

/app/project/lms_tales/views/step_views.py in get_context_data(63)
  if len(step_files_new) == 0:

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,4369 set_many ({'9a3bb3d750415727c26eb53e3b0a675b5cd3a19e': (1736590801.392024, [[(313, datetime.datetime(2022, 3, 23, 15, 22, 57, 280701, tzinfo=datetime.timezone.utc), datetime.datetime(2022, 3, 23, 15, 22, 57, 280701, tzinfo=datetime.timezone.utc), 928, 370, 'de'), (314, datetime.datetime(2022, 3, 23, 15, 23, 3, 546660, tzinfo=datetime.timezone.utc), datetime.datetime(2022, 3, 23, 15, 23, 3, 546660, tzinfo=datetime.timezone.utc), 928, 371, 'de')]])}, None) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(64)
  response = function(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/base.py in view(104)
  return self.dispatch(request, *args, **kwargs)

/app/project/lms_tales/views/mixins.py in dispatch(31)
  return super().dispatch(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/base.py in dispatch(143)
  return handler(request, *args, **kwargs)

/app/project/lms_tales/views/step_views.py in get(36)
  response = super().get(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/detail.py in get(109)
  context = self.get_context_data(object=self.object)

/app/project/lms_tales/views/step_views.py in get_context_data(63)
  if len(step_files_new) == 0:

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(71)
  cache.set_many(to_be_set, cachalot_settings.CACHALOT_TIMEOUT)

0,4566 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', '0aedb852df4cb7ed168853603afbf4d8551b8bc6'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(64)
  response = function(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/base.py in view(104)
  return self.dispatch(request, *args, **kwargs)

/app/project/lms_tales/views/mixins.py in dispatch(31)
  return super().dispatch(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/base.py in dispatch(143)
  return handler(request, *args, **kwargs)

/app/project/lms_tales/views/step_views.py in get(36)
  response = super().get(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/detail.py in get(109)
  context = self.get_context_data(object=self.object)

/app/project/lms_tales/views/step_views.py in get_context_data(72)
  context["course"] = self.object.chapter.course

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,4362 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', 'f0014698d826cbea74e2655ce8ab52b4d8a04f63'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(64)
  response = function(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/base.py in view(104)
  return self.dispatch(request, *args, **kwargs)

/app/project/lms_tales/views/mixins.py in dispatch(31)
  return super().dispatch(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/base.py in dispatch(143)
  return handler(request, *args, **kwargs)

/app/project/lms_tales/views/step_views.py in get(36)
  response = super().get(request, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/django/views/generic/detail.py in get(109)
  context = self.get_context_data(object=self.object)

/app/project/lms_tales/views/step_views.py in get_context_data(72)
  context["course"] = self.object.chapter.course

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3574 get_many (['312c357d2eed306581bb334378808fbccf7019ea', 'e3a5db5a670ad803efb866441f33de58309be2e2', '3485ea11b423ef2530f29141b76e23c7ef1c10b0'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(314)
  match = condition.eval(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in eval(877)
  return self.value.resolve(context, ignore_failures=True)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(715)
  obj = self.var.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(847)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in _resolve_lookup(890)
  current = getattr(current, bit)

/app/project/lms_tales/models.py in meta(86)
  + ", ".join([author.name for author in self.get_course().authors.all()]),

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2864 get_many (['312c357d2eed306581bb334378808fbccf7019ea', 'e3a5db5a670ad803efb866441f33de58309be2e2', '3485ea11b423ef2530f29141b76e23c7ef1c10b0'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1064)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(715)
  obj = self.var.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(847)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in _resolve_lookup(890)
  current = getattr(current, bit)

/app/project/lms_tales/models.py in meta(86)
  + ", ".join([author.name for author in self.get_course().authors.all()]),

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2578 get_many (['312c357d2eed306581bb334378808fbccf7019ea', 'e3a5db5a670ad803efb866441f33de58309be2e2', '3485ea11b423ef2530f29141b76e23c7ef1c10b0'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1064)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(715)
  obj = self.var.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(847)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in _resolve_lookup(890)
  current = getattr(current, bit)

/app/project/lms_tales/models.py in meta(86)
  + ", ".join([author.name for author in self.get_course().authors.all()]),

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2520 get_many (['312c357d2eed306581bb334378808fbccf7019ea', 'e3a5db5a670ad803efb866441f33de58309be2e2', '3485ea11b423ef2530f29141b76e23c7ef1c10b0'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1064)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(715)
  obj = self.var.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(847)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in _resolve_lookup(890)
  current = getattr(current, bit)

/app/project/lms_tales/models.py in meta(86)
  + ", ".join([author.name for author in self.get_course().authors.all()]),

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2476 get_many (['312c357d2eed306581bb334378808fbccf7019ea', 'e3a5db5a670ad803efb866441f33de58309be2e2', '3485ea11b423ef2530f29141b76e23c7ef1c10b0'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1064)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(715)
  obj = self.var.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(847)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in _resolve_lookup(890)
  current = getattr(current, bit)

/app/project/lms_tales/models.py in meta(86)
  + ", ".join([author.name for author in self.get_course().authors.all()]),

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2611 get_many (['312c357d2eed306581bb334378808fbccf7019ea', 'e3a5db5a670ad803efb866441f33de58309be2e2', '3485ea11b423ef2530f29141b76e23c7ef1c10b0'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1064)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(715)
  obj = self.var.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(847)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in _resolve_lookup(890)
  current = getattr(current, bit)

/app/project/lms_tales/models.py in meta(86)
  + ", ".join([author.name for author in self.get_course().authors.all()]),

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2509 get_many (['312c357d2eed306581bb334378808fbccf7019ea', 'e3a5db5a670ad803efb866441f33de58309be2e2', '3485ea11b423ef2530f29141b76e23c7ef1c10b0'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1064)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(715)
  obj = self.var.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(847)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in _resolve_lookup(890)
  current = getattr(current, bit)

/app/project/lms_tales/models.py in meta(86)
  + ", ".join([author.name for author in self.get_course().authors.all()]),

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2617 get ('waffle:4.1.0a156ed0e9d07cd12e770c8dca0575feb',) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(208)
  return template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(177)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/waffle/templatetags/waffle_tags.py in render(36)
  if self.condition(context.get('request', None), name):

/usr/local/lib/python3.11/site-packages/waffle/__init__.py in flag_is_active(19)
  flag = get_waffle_flag_model().get(flag_name)

/usr/local/lib/python3.11/site-packages/waffle/models.py in get(52)
  cached = cache.get(cache_key)

0,2837 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '2a28b4a32687d7f978e0bd7eb0dfeb45e2e99ddf'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(208)
  return template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(177)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(194)
  len_values = len(values)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,4824 get_many (['138549f5508bbba7283d6a0625e51c589d845e8f', '76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'cfa55eecdc9bf90ffe45880c0aca43208cd6bae9'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(208)
  return template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(177)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(238)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(194)
  len_values = len(values)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,4809 get_many (['138549f5508bbba7283d6a0625e51c589d845e8f', '76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '27b8bc75b53f566c4688c8cf11a3a5999338ba48'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(208)
  return template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(177)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(238)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(194)
  len_values = len(values)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,4211 get_many (['138549f5508bbba7283d6a0625e51c589d845e8f', '76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'f1261e964e0b572ba9f5d3d9b5f18edefe8fac76'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(208)
  return template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(177)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(238)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(194)
  len_values = len(values)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,4914 get_many (['138549f5508bbba7283d6a0625e51c589d845e8f', '76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'd821946a7e4c2ff48c3c01672035ed6aa302b35e'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(208)
  return template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(177)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(238)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(194)
  len_values = len(values)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,4019 get_many (['138549f5508bbba7283d6a0625e51c589d845e8f', '76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '169f42ee3d02cd5bceb6f04dd52900a78a08a4b5'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/project/lms_base/templatetags/utils.py in get_next_step(105)
  return step.get_next(published_only=True)

/app/project/lms_base/models.py in get_next(249)
  return self._get_neighbour_step(is_next=True, published_only=published_only)

/app/project/lms_base/models.py in _get_neighbour_step(201)
  step = self.__class__.next_previous_manager.get_next_previous(

/app/project/lms_base/models.py in get_next_previous(71)
  return qs.first()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3737 set_many ({'169f42ee3d02cd5bceb6f04dd52900a78a08a4b5': (1736590801.4748864, [[(954, datetime.datetime(2021, 10, 4, 14, 20, 54, 631539, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 13, 55, 7, 171013, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 13, 55, 7, 113466, tzinfo=datetime.timezone.utc), False, 'Encoding musical rhythm', None, 'Encoding musical rhythm', None, '', None, None, None, '', None, None, None, '', 'encoding-musical-rhythm', 'Musical rhythm is one of the basic aspects that we experience as we listen to music. However, a way to record rhythmical proportions was introduced precisely into the history of musical notation at a comparatively late stage.\r\n{.lead}\r\n\r\nAs we have learned previously the pitch was the first musical dimension that was fixed in medieval music notation due to the introduction of lines. After the very first emergence of the Dasia notation in the 9th century exact pitches were notated systematically with diastematic neumes introduced by the Aquitanian and the Italian neumatic notation (Guido of Arezzo) from the 11th century onwards. Rhythm is the second musical dimension that was fixed in musical notation. \r\n\r\nDuring the early 13th century medieval musicians had to solve the problem of how to visualise musical rhythm. If pitch could easily be represented following the spatial analogy of high and low, rhythm needed to be notated in a different way.\r\n\r\nWith the Parisian practice of polyphonic music at Notre Dame, which began around 1150 and was further developed until 1250, a new musical repertoire was composed stimulating the implementation of a new type of notation which was able to fix rhythmic patterns. Modal notation is the first example of rhythmic notation in Western music history.\r\n\r\n![Ancient music sheet](/media/markdownx/b64dabcb-5f8d-4d2f-8e1d-5b687e7dac97.jpg)\r\n{.portrait}\r\n\r\nFour-Part Graduale *Viderunt omnes* written in modal notation. <br>\r\n&copy; Firenze Biblioteca Medicea Laurenziana, Plut. 29.1, fol. 1r\r\n{.footnote}\r\n\r\n<br>\r\n\r\nAs you may see in the example above, this notation adopted the shape of its notes from the way the liturgical chant was written down at that time: all four voices resemble square notation. The real challenge is, that in this polyphonic repertoire these signs needed to carry rhythmical meaning. \r\n\r\n**Please compare now the first line of the manuscript with a modern transcription below:**\r\n\r\n![First voice of the manuscript in square notation and a modern transciption](/media/markdownx/9d12a6b0-4199-4a54-a328-536d6cc6f1a6.jpg)\r\n{.portrait}', '', 'Musical rhythm is one of the basic aspects that we experience as we listen to music. However, a way to record rhythmical proportions was introduced precisely into the history of musical notation at a comparatively late stage.\r\n{.lead}\r\n\r\nAs we have learned previously the pitch was the first musical dimension that was fixed in medieval music notation due to the introduction of lines. After the very first emergence of the Dasia notation in the 9th century exact pitches were notated systematically with diastematic neumes introduced by the Aquitanian and the Italian neumatic notation (Guido of Arezzo) from the 11th century onwards. Rhythm is the second musical dimension that was fixed in musical notation. \r\n\r\nDuring the early 13th century medieval musicians had to solve the problem of how to visualise musical rhythm. If pitch could easily be represented following the spatial analogy of high and low, rhythm needed to be notated in a different way.\r\n\r\nWith the Parisian practice of polyphonic music at Notre Dame, which began around 1150 and was further developed until 1250, a new musical repertoire was composed stimulating the implementation of a new type of notation which was able to fix rhythmic patterns. Modal notation is the first example of rhythmic notation in Western music history.\r\n\r\n![Ancient music sheet](/media/markdownx/b64dabcb-5f8d-4d2f-8e1d-5b687e7dac97.jpg)\r\n{.portrait}\r\n\r\nFour-Part Graduale *Viderunt omnes* written in modal notation. <br>\r\n&copy; Firenze Biblioteca Medicea Laurenziana, Plut. 29.1, fol. 1r\r\n{.footnote}\r\n\r\n<br>\r\n\r\nAs you may see in the example above, this notation adopted the shape of its notes from the way the liturgical chant was written down at that time: all four voices resemble square notation. The real challenge is, that in this polyphonic repertoire these signs needed to carry rhythmical meaning. \r\n\r\n**Please compare now the first line of the manuscript with a modern transcription below:**\r\n\r\n![First voice of the manuscript in square notation and a modern transciption](/media/markdownx/9d12a6b0-4199-4a54-a328-536d6cc6f1a6.jpg)\r\n{.portrait}', '', '', '', '', '', None, None, None, None, 'Copyright: University of Basel', '', 'Copyright: University of Basel', '', 'TT', '', 1, 'published', True, 'What do you observe? Please share your thoughts in the [comments](#comments) section below. We look forward to reading them!', None, 'What do you observe? Please share your thoughts in the [comments](#comments) section below. We look forward to reading them!', None, 189)]])}, None) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/project/lms_base/templatetags/utils.py in get_next_step(105)
  return step.get_next(published_only=True)

/app/project/lms_base/models.py in get_next(249)
  return self._get_neighbour_step(is_next=True, published_only=published_only)

/app/project/lms_base/models.py in _get_neighbour_step(201)
  step = self.__class__.next_previous_manager.get_next_previous(

/app/project/lms_base/models.py in get_next_previous(71)
  return qs.first()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(71)
  cache.set_many(to_be_set, cachalot_settings.CACHALOT_TIMEOUT)

0,2836 get_many (['138549f5508bbba7283d6a0625e51c589d845e8f', '76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '4a5f6c1a199abe931ed0155a826f13d9a4266be1'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/project/lms_base/templatetags/utils.py in get_previous_step(93)
  return step.get_previous(published_only=True)

/app/project/lms_base/models.py in get_previous(255)
  return self._get_neighbour_step(is_next=False, published_only=published_only)

/app/project/lms_base/models.py in _get_neighbour_step(201)
  step = self.__class__.next_previous_manager.get_next_previous(

/app/project/lms_base/models.py in get_next_previous(72)
  return qs.last()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2753 set_many ({'4a5f6c1a199abe931ed0155a826f13d9a4266be1': (1736590801.4819744, [])}, None) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/project/lms_base/templatetags/utils.py in get_previous_step(93)
  return step.get_previous(published_only=True)

/app/project/lms_base/models.py in get_previous(255)
  return self._get_neighbour_step(is_next=False, published_only=published_only)

/app/project/lms_base/models.py in _get_neighbour_step(201)
  step = self.__class__.next_previous_manager.get_next_previous(

/app/project/lms_base/models.py in get_next_previous(72)
  return qs.last()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(71)
  cache.set_many(to_be_set, cachalot_settings.CACHALOT_TIMEOUT)

0,2786 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'aebac364dfaf2db2afa282f4f50aa8f9a2b303df'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/project/lms_base/templatetags/utils.py in get_previous_step(93)
  return step.get_previous(published_only=True)

/app/project/lms_base/models.py in get_previous(255)
  return self._get_neighbour_step(is_next=False, published_only=published_only)

/app/project/lms_base/models.py in _get_neighbour_step(218)
  chapter = chapter.get_previous(published_only=True)

/app/project/lms_base/models.py in get_previous(322)
  return self.__class__.next_previous_manager.get_next_previous(

/app/project/lms_base/models.py in get_next_previous(72)
  return qs.last()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3196 set_many ({'aebac364dfaf2db2afa282f4f50aa8f9a2b303df': (1736590801.488154, [[(188, datetime.datetime(2021, 9, 13, 8, 46, 14, 604256, tzinfo=datetime.timezone.utc), datetime.datetime(2021, 10, 4, 11, 48, 34, 457970, tzinfo=datetime.timezone.utc), datetime.datetime(2021, 10, 4, 11, 48, 34, 442538, tzinfo=datetime.timezone.utc), False, "'From sound to ink' – early forms of musical notation", None, "'From sound to ink' – early forms of musical notation", None, 'from-sound-to-ink-early-forms-of-musical-notation', 1, 'published', 32)]])}, None) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/project/lms_base/templatetags/utils.py in get_previous_step(93)
  return step.get_previous(published_only=True)

/app/project/lms_base/models.py in get_previous(255)
  return self._get_neighbour_step(is_next=False, published_only=published_only)

/app/project/lms_base/models.py in _get_neighbour_step(218)
  chapter = chapter.get_previous(published_only=True)

/app/project/lms_base/models.py in get_previous(322)
  return self.__class__.next_previous_manager.get_next_previous(

/app/project/lms_base/models.py in get_next_previous(72)
  return qs.last()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(71)
  cache.set_many(to_be_set, cachalot_settings.CACHALOT_TIMEOUT)

0,2578 get_many (['138549f5508bbba7283d6a0625e51c589d845e8f', '76e323efd8711853e13c9f7cf976845908364eb2', 'a3b970fbc95fec8bf88cac9e235206884129c634'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/project/lms_base/templatetags/utils.py in get_previous_step(93)
  return step.get_previous(published_only=True)

/app/project/lms_base/models.py in get_previous(255)
  return self._get_neighbour_step(is_next=False, published_only=published_only)

/app/project/lms_base/models.py in _get_neighbour_step(232)
  if qs.count() == 0:

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2537 set_many ({'a3b970fbc95fec8bf88cac9e235206884129c634': (1736590801.4948347, (14,))}, None) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/project/lms_base/templatetags/utils.py in get_previous_step(93)
  return step.get_previous(published_only=True)

/app/project/lms_base/models.py in get_previous(255)
  return self._get_neighbour_step(is_next=False, published_only=published_only)

/app/project/lms_base/models.py in _get_neighbour_step(232)
  if qs.count() == 0:

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(71)
  cache.set_many(to_be_set, cachalot_settings.CACHALOT_TIMEOUT)

0,2784 get_many (['138549f5508bbba7283d6a0625e51c589d845e8f', '76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', 'fa7eeea0888c90595b73fcd820df04f0d4c7a61c'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/project/lms_base/templatetags/utils.py in get_previous_step(93)
  return step.get_previous(published_only=True)

/app/project/lms_base/models.py in get_previous(255)
  return self._get_neighbour_step(is_next=False, published_only=published_only)

/app/project/lms_base/models.py in _get_neighbour_step(238)
  step = qs.last()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2916 set_many ({'fa7eeea0888c90595b73fcd820df04f0d4c7a61c': (1736590801.5006297, [[(953, datetime.datetime(2021, 10, 4, 13, 14, 43, 148412, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 14, 34, 29, 891045, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 14, 34, 29, 840590, tzinfo=datetime.timezone.utc), False, 'Wrap up chapter 2', None, 'Wrap up chapter 2', None, '', None, None, None, '', None, None, None, '', 'wrap-up-chapter-2', 'Congratulations, with this step you reached the end of the second chapter! \r\n{.lead}\r\n\r\nIn this chapter we focused on the analysis of the earliest manifestations of musical notation in the Middle Ages starting with neumes and proceeding to square notation. You gained insights into the beginning of written music, got an overview of the notational systems from the 9th to the 11th century and deepened your understanding on neumatic notation and staff-notation. \r\n\r\nIn the next chapter you will learn about modal notation and discover the basic principles of transcribing medieval notation.', '', 'Congratulations, with this step you reached the end of the second chapter! \r\n{.lead}\r\n\r\nIn this chapter we focused on the analysis of the earliest manifestations of musical notation in the Middle Ages starting with neumes and proceeding to square notation. You gained insights into the beginning of written music, got an overview of the notational systems from the 9th to the 11th century and deepened your understanding on neumatic notation and staff-notation. \r\n\r\nIn the next chapter you will learn about modal notation and discover the basic principles of transcribing medieval notation.', '', '', '', '', '', None, None, None, None, 'Copyright: University of Basel', '', 'Copyright: University of Basel', '', 'TT', '', 32741, 'published', True, 'What are your thoughts on this chapter? Share them in the [comments](#comments) section below.', None, 'What are your thoughts on this chapter? Share them in the [comments](#comments) section below.', None, 188)]])}, None) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/project/lms_base/templatetags/utils.py in get_previous_step(93)
  return step.get_previous(published_only=True)

/app/project/lms_base/models.py in get_previous(255)
  return self._get_neighbour_step(is_next=False, published_only=published_only)

/app/project/lms_base/models.py in _get_neighbour_step(238)
  step = qs.last()

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(71)
  cache.set_many(to_be_set, cachalot_settings.CACHALOT_TIMEOUT)

0,2523 get_many (['53169bc24a037802f3e42b2df3d6e48b7ae8482f', 'e3a5db5a670ad803efb866441f33de58309be2e2', '542c27005f4e84288827ce70a7d49bc73324a5e7', '70626b48ded21a892fba4ce0212270be9f603721'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/usr/local/lib/python3.11/site-packages/rules/templatetags/rules.py in has_perm(18)
  return user.has_perm(perm, obj)

/usr/local/lib/python3.11/site-packages/django/contrib/auth/models.py in has_perm(480)
  return _user_has_perm(self, perm, obj=obj)

/usr/local/lib/python3.11/site-packages/django/contrib/auth/models.py in _user_has_perm(220)
  if backend.has_perm(user, perm, obj):

/usr/local/lib/python3.11/site-packages/rules/permissions.py in has_perm(31)
  return has_perm(perm, user, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/rules/permissions.py in has_perm(23)
  return permissions.test_rule(name, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/rules/rulesets.py in test_rule(6)
  return name in self and self[name].test(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in test(172)
  return bool(self._apply(*args))

/usr/local/lib/python3.11/site-packages/rules/predicates.py in _apply(235)
  result = self.fn(*callargs)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in OR(184)
  return self._combine(other, operator.or_, args)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in _combine(206)
  self_result = self._apply(*args)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in _apply(235)
  result = self.fn(*callargs)

/app/project/lms_tales/rules.py in is_in_group(32)
  for owner in course.owner.all():

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2746 get_many (['53169bc24a037802f3e42b2df3d6e48b7ae8482f', 'e3a5db5a670ad803efb866441f33de58309be2e2', '542c27005f4e84288827ce70a7d49bc73324a5e7', '70626b48ded21a892fba4ce0212270be9f603721'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/usr/local/lib/python3.11/site-packages/rules/templatetags/rules.py in has_perm(18)
  return user.has_perm(perm, obj)

/usr/local/lib/python3.11/site-packages/django/contrib/auth/models.py in has_perm(480)
  return _user_has_perm(self, perm, obj=obj)

/usr/local/lib/python3.11/site-packages/django/contrib/auth/models.py in _user_has_perm(220)
  if backend.has_perm(user, perm, obj):

/usr/local/lib/python3.11/site-packages/rules/permissions.py in has_perm(31)
  return has_perm(perm, user, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/rules/permissions.py in has_perm(23)
  return permissions.test_rule(name, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/rules/rulesets.py in test_rule(6)
  return name in self and self[name].test(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in test(172)
  return bool(self._apply(*args))

/usr/local/lib/python3.11/site-packages/rules/predicates.py in _apply(235)
  result = self.fn(*callargs)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in OR(184)
  return self._combine(other, operator.or_, args)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in _combine(206)
  self_result = self._apply(*args)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in _apply(235)
  result = self.fn(*callargs)

/app/project/lms_tales/rules.py in is_in_group(32)
  for owner in course.owner.all():

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2284 get_many (['53169bc24a037802f3e42b2df3d6e48b7ae8482f', 'e3a5db5a670ad803efb866441f33de58309be2e2', '542c27005f4e84288827ce70a7d49bc73324a5e7', '70626b48ded21a892fba4ce0212270be9f603721'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/usr/local/lib/python3.11/site-packages/rules/templatetags/rules.py in has_perm(18)
  return user.has_perm(perm, obj)

/usr/local/lib/python3.11/site-packages/django/contrib/auth/models.py in has_perm(480)
  return _user_has_perm(self, perm, obj=obj)

/usr/local/lib/python3.11/site-packages/django/contrib/auth/models.py in _user_has_perm(220)
  if backend.has_perm(user, perm, obj):

/usr/local/lib/python3.11/site-packages/rules/permissions.py in has_perm(31)
  return has_perm(perm, user, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/rules/permissions.py in has_perm(23)
  return permissions.test_rule(name, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/rules/rulesets.py in test_rule(6)
  return name in self and self[name].test(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in test(172)
  return bool(self._apply(*args))

/usr/local/lib/python3.11/site-packages/rules/predicates.py in _apply(235)
  result = self.fn(*callargs)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in OR(184)
  return self._combine(other, operator.or_, args)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in _combine(206)
  self_result = self._apply(*args)

/usr/local/lib/python3.11/site-packages/rules/predicates.py in _apply(235)
  result = self.fn(*callargs)

/app/project/lms_tales/rules.py in is_in_group(32)
  for owner in course.owner.all():

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2358 get ('waffle:4.1.0f1f61030d824f38a8926961f0e221887',) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/waffle/templatetags/waffle_tags.py in render(36)
  if self.condition(context.get('request', None), name):

/usr/local/lib/python3.11/site-packages/waffle/__init__.py in flag_is_active(19)
  flag = get_waffle_flag_model().get(flag_name)

/usr/local/lib/python3.11/site-packages/waffle/models.py in get(52)
  cached = cache.get(cache_key)

0,3052 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', 'e3a5db5a670ad803efb866441f33de58309be2e2', '9a5689952909d21f1c94a2f6dc0e0674640cd6c9'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1064)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(715)
  obj = self.var.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(847)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in _resolve_lookup(914)
  current = current()

/app/project/lms_tales/models.py in get_step_number(110)
  chapter_list = list(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,3524 get_many (['138549f5508bbba7283d6a0625e51c589d845e8f', '76e323efd8711853e13c9f7cf976845908364eb2', '30249e2e6448217c6c083f369bc7ce967f37bb53'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1064)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(715)
  obj = self.var.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(847)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in _resolve_lookup(914)
  current = current()

/app/project/lms_tales/models.py in get_step_number(121)
  step_list = list(self.chapter.published_steps.all().order_by("order"))

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,7550 set_many ({'30249e2e6448217c6c083f369bc7ce967f37bb53': (1736590801.5192049, [[(928, datetime.datetime(2021, 9, 13, 8, 50, 35, 557539, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 14, 58, 6, 146231, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 14, 58, 6, 93448, tzinfo=datetime.timezone.utc), False, 'Cantus and discantus', None, 'Cantus and discantus', None, '', None, None, None, '', None, None, None, 'from-ink-to-sound/coordination-in-rhythm-modal-notation/early-polyphony/003.jpg', 'cantus-and-discantus', 'In this video you will get some basic information about the historical development of polyphony in Western music history. You will also become acquainted with a new form of noting music: the modal notation. \r\n{.lead}\r\n\r\n![embed](https://vimeo.com/690889825/91cba73a60)\r\n \r\nPreviously you explored how liturgical chant was noted down, starting from the late Carolingian times until the crucial transition from the neumes without lines to square notation. Let us now address the polyphony of the 12th and 13th centuries. A good example is the so-called Notre Dame school. The name stands for a group of musicians active in Paris between about 1150 and about 1250. They composed a large number of polyphonic settings of liturgical music. \r\n\r\nThe Ensemble Gilles Binchois under the direction of Dominique Vellard sings the monophonic Gradual *Benedicta et Venerabilis*. The video also presents two polyphonic clausulae *Go* and the motet *O Maria mater pia* from the manuscript Firenze, Biblioteca Medicea Laurenziana, Plut. 29.1, fol. 11r, 165r and 393r–v that are derived from the monophonic Gradual.', '', 'In this video you will get some basic information about the historical development of polyphony in Western music history. You will also become acquainted with a new form of noting music: the modal notation. \r\n{.lead}\r\n\r\n![embed](https://vimeo.com/690889825/91cba73a60)\r\n \r\nPreviously you explored how liturgical chant was noted down, starting from the late Carolingian times until the crucial transition from the neumes without lines to square notation. Let us now address the polyphony of the 12th and 13th centuries. A good example is the so-called Notre Dame school. The name stands for a group of musicians active in Paris between about 1150 and about 1250. They composed a large number of polyphonic settings of liturgical music. \r\n\r\nThe Ensemble Gilles Binchois under the direction of Dominique Vellard sings the monophonic Gradual *Benedicta et Venerabilis*. The video also presents two polyphonic clausulae *Go* and the motet *O Maria mater pia* from the manuscript Firenze, Biblioteca Medicea Laurenziana, Plut. 29.1, fol. 11r, 165r and 393r–v that are derived from the monophonic Gradual.', '', '', '', '', '', None, None, None, None, 'Copyright: University of Basel', '', 'Copyright: University of Basel', '', 'TV', '', 0, 'published', True, "Please share your thoughts and questions in the [comments](#comments) section below. Feel free to answer your colleagues' questions - if you feel able to do so.", None, "Please share your thoughts and questions in the [comments](#comments) section below. Feel free to answer your colleagues' questions - if you feel able to do so.", None, 189), (954, datetime.datetime(2021, 10, 4, 14, 20, 54, 631539, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 13, 55, 7, 171013, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 13, 55, 7, 113466, tzinfo=datetime.timezone.utc), False, 'Encoding musical rhythm', None, 'Encoding musical rhythm', None, '', None, None, None, '', None, None, None, '', 'encoding-musical-rhythm', 'Musical rhythm is one of the basic aspects that we experience as we listen to music. However, a way to record rhythmical proportions was introduced precisely into the history of musical notation at a comparatively late stage.\r\n{.lead}\r\n\r\nAs we have learned previously the pitch was the first musical dimension that was fixed in medieval music notation due to the introduction of lines. After the very first emergence of the Dasia notation in the 9th century exact pitches were notated systematically with diastematic neumes introduced by the Aquitanian and the Italian neumatic notation (Guido of Arezzo) from the 11th century onwards. Rhythm is the second musical dimension that was fixed in musical notation. \r\n\r\nDuring the early 13th century medieval musicians had to solve the problem of how to visualise musical rhythm. If pitch could easily be represented following the spatial analogy of high and low, rhythm needed to be notated in a different way.\r\n\r\nWith the Parisian practice of polyphonic music at Notre Dame, which began around 1150 and was further developed until 1250, a new musical repertoire was composed stimulating the implementation of a new type of notation which was able to fix rhythmic patterns. Modal notation is the first example of rhythmic notation in Western music history.\r\n\r\n![Ancient music sheet](/media/markdownx/b64dabcb-5f8d-4d2f-8e1d-5b687e7dac97.jpg)\r\n{.portrait}\r\n\r\nFour-Part Graduale *Viderunt omnes* written in modal notation. <br>\r\n&copy; Firenze Biblioteca Medicea Laurenziana, Plut. 29.1, fol. 1r\r\n{.footnote}\r\n\r\n<br>\r\n\r\nAs you may see in the example above, this notation adopted the shape of its notes from the way the liturgical chant was written down at that time: all four voices resemble square notation. The real challenge is, that in this polyphonic repertoire these signs needed to carry rhythmical meaning. \r\n\r\n**Please compare now the first line of the manuscript with a modern transcription below:**\r\n\r\n![First voice of the manuscript in square notation and a modern transciption](/media/markdownx/9d12a6b0-4199-4a54-a328-536d6cc6f1a6.jpg)\r\n{.portrait}', '', 'Musical rhythm is one of the basic aspects that we experience as we listen to music. However, a way to record rhythmical proportions was introduced precisely into the history of musical notation at a comparatively late stage.\r\n{.lead}\r\n\r\nAs we have learned previously the pitch was the first musical dimension that was fixed in medieval music notation due to the introduction of lines. After the very first emergence of the Dasia notation in the 9th century exact pitches were notated systematically with diastematic neumes introduced by the Aquitanian and the Italian neumatic notation (Guido of Arezzo) from the 11th century onwards. Rhythm is the second musical dimension that was fixed in musical notation. \r\n\r\nDuring the early 13th century medieval musicians had to solve the problem of how to visualise musical rhythm. If pitch could easily be represented following the spatial analogy of high and low, rhythm needed to be notated in a different way.\r\n\r\nWith the Parisian practice of polyphonic music at Notre Dame, which began around 1150 and was further developed until 1250, a new musical repertoire was composed stimulating the implementation of a new type of notation which was able to fix rhythmic patterns. Modal notation is the first example of rhythmic notation in Western music history.\r\n\r\n![Ancient music sheet](/media/markdownx/b64dabcb-5f8d-4d2f-8e1d-5b687e7dac97.jpg)\r\n{.portrait}\r\n\r\nFour-Part Graduale *Viderunt omnes* written in modal notation. <br>\r\n&copy; Firenze Biblioteca Medicea Laurenziana, Plut. 29.1, fol. 1r\r\n{.footnote}\r\n\r\n<br>\r\n\r\nAs you may see in the example above, this notation adopted the shape of its notes from the way the liturgical chant was written down at that time: all four voices resemble square notation. The real challenge is, that in this polyphonic repertoire these signs needed to carry rhythmical meaning. \r\n\r\n**Please compare now the first line of the manuscript with a modern transcription below:**\r\n\r\n![First voice of the manuscript in square notation and a modern transciption](/media/markdownx/9d12a6b0-4199-4a54-a328-536d6cc6f1a6.jpg)\r\n{.portrait}', '', '', '', '', '', None, None, None, None, 'Copyright: University of Basel', '', 'Copyright: University of Basel', '', 'TT', '', 1, 'published', True, 'What do you observe? Please share your thoughts in the [comments](#comments) section below. We look forward to reading them!', None, 'What do you observe? Please share your thoughts in the [comments](#comments) section below. We look forward to reading them!', None, 189), (955, datetime.datetime(2021, 10, 4, 14, 24, 8, 569975, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 13, 57, 17, 614587, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 13, 57, 17, 497051, tzinfo=datetime.timezone.utc), False, 'Notational signs of modal notation', None, 'Notational signs of modal notation', None, '', None, None, None, '', None, None, None, '', 'notational-signs-of-modal-notation', 'The signs of the modal notation are derived from the square notation which was developed in northern France during the 12th century. In square notation, as in chant notation, we find the four-line staff. In later examples, such as in the fragment from the Basel University Library shown below, there are groups of five-line staffs. \r\n{.lead}\r\n\r\n![Image of a manuscript from the Basel University with five staffs per voice](/media/markdownx/eceec089-02ab-4bc8-8c82-b588e663edb4.jpg)\r\n{.portrait}\r\n\r\nImage 1: Manuscript from the Basel University Library with four 15 staff-systems.<br>\r\nEach system contains three voices with five staffs each. &copy; Basel Universitätsbibliothek, F X 37, fol 2r<br>\r\n{.footnote}\r\n\r\nThe note shapes of modal notation are based either on figures that represent single notes or figures that represent joined notes (the latter are called *ligatures*):\r\n\r\nSingle notes:\r\n![Images of three single notes](/media/markdownx/fc2c6429-dd4b-478c-927d-5e82b3b01104.jpg)\r\n{.portrait}\r\n\r\nLigatures (binary, ternary, quaternary, conjunctura):\r\n![Six images of different ligatures](/media/markdownx/ae4242be-df78-46f5-ad3a-caa1beff07bc.jpg)\r\n{.portrait}\r\n\r\n\r\nPlease note that the dashes you see here (on the left or on the right side) are part of the note shapes.\r\n\r\nIn order to know which pitch is meant, there are clefs at the beginning of the line. In the upper staff you can see a clef marking the note c and in the lower staff a clef marking the note f:\r\n\r\n![Image of a clef](/media/markdownx/68fe206a-5dea-4c5b-b41a-1203ed0b41ab.jpg)\r\n{.portrait}\r\n\r\n\r\nIn some cases single notes or notes within a ligature have little downward or upward dashes attached to the end of them. These little strokes are called *plica* and have the function of decorating notes inserting a shorter note value into the rhythmical flow (see more on that in a later step).\r\n\r\n![Image of a plica](/media/markdownx/2a44772c-bf53-403a-b704-568566dba1c7.jpg)\r\n{.portrait}\r\n\r\nCompositions notated in modal notation are structured into musical phrases, called *ordines*, from the Latin word *ordo* (that is series, succession). Ordines are marked by vertical strokes that can be short or, if the end of a formal section is reached, can occupy the whole four-staff. These strokes are generally interpreted to mean a rest. \r\n\r\n![Image of an ordo-line](/media/markdownx/08f2c7b0-c673-40c5-94ea-a7f4f8d52966.jpg)\r\n{.portrait}\r\n\r\nIf the strokes are very short and appear in the middle of a phrase, they are called *suspirium* (breath) and indicate a short break as marked by the modern comma.\r\n\r\n![Image of a Suspirium](/media/markdownx/c766eafb-2fe1-4e57-8e16-302fc25cd336.jpg)\r\n{.portrait}', '', 'The signs of the modal notation are derived from the square notation which was developed in northern France during the 12th century. In square notation, as in chant notation, we find the four-line staff. In later examples, such as in the fragment from the Basel University Library shown below, there are groups of five-line staffs. \r\n{.lead}\r\n\r\n![Image of a manuscript from the Basel University with five staffs per voice](/media/markdownx/eceec089-02ab-4bc8-8c82-b588e663edb4.jpg)\r\n{.portrait}\r\n\r\nImage 1: Manuscript from the Basel University Library with four 15 staff-systems.<br>\r\nEach system contains three voices with five staffs each. &copy; Basel Universitätsbibliothek, F X 37, fol 2r<br>\r\n{.footnote}\r\n\r\nThe note shapes of modal notation are based either on figures that represent single notes or figures that represent joined notes (the latter are called *ligatures*):\r\n\r\nSingle notes:\r\n![Images of three single notes](/media/markdownx/fc2c6429-dd4b-478c-927d-5e82b3b01104.jpg)\r\n{.portrait}\r\n\r\nLigatures (binary, ternary, quaternary, conjunctura):\r\n![Six images of different ligatures](/media/markdownx/ae4242be-df78-46f5-ad3a-caa1beff07bc.jpg)\r\n{.portrait}\r\n\r\n\r\nPlease note that the dashes you see here (on the left or on the right side) are part of the note shapes.\r\n\r\nIn order to know which pitch is meant, there are clefs at the beginning of the line. In the upper staff you can see a clef marking the note c and in the lower staff a clef marking the note f:\r\n\r\n![Image of a clef](/media/markdownx/68fe206a-5dea-4c5b-b41a-1203ed0b41ab.jpg)\r\n{.portrait}\r\n\r\n\r\nIn some cases single notes or notes within a ligature have little downward or upward dashes attached to the end of them. These little strokes are called *plica* and have the function of decorating notes inserting a shorter note value into the rhythmical flow (see more on that in a later step).\r\n\r\n![Image of a plica](/media/markdownx/2a44772c-bf53-403a-b704-568566dba1c7.jpg)\r\n{.portrait}\r\n\r\nCompositions notated in modal notation are structured into musical phrases, called *ordines*, from the Latin word *ordo* (that is series, succession). Ordines are marked by vertical strokes that can be short or, if the end of a formal section is reached, can occupy the whole four-staff. These strokes are generally interpreted to mean a rest. \r\n\r\n![Image of an ordo-line](/media/markdownx/08f2c7b0-c673-40c5-94ea-a7f4f8d52966.jpg)\r\n{.portrait}\r\n\r\nIf the strokes are very short and appear in the middle of a phrase, they are called *suspirium* (breath) and indicate a short break as marked by the modern comma.\r\n\r\n![Image of a Suspirium](/media/markdownx/c766eafb-2fe1-4e57-8e16-302fc25cd336.jpg)\r\n{.portrait}', '', '', '', '', '', None, None, None, None, 'Copyright: University of Basel', '', 'Copyright: University of Basel', '', 'TT', '', 2, 'published', True, "Please share your thoughts and questions in the [comments](#comments) section below. Feel free to answer your colleagues' questions - if you feel able to do so.", None, "Please share your thoughts and questions in the [comments](#comments) section below. Feel free to answer your colleagues' questions - if you feel able to do so.", None, 189), (956, datetime.datetime(2021, 10, 4, 14, 32, 35, 709114, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 13, 58, 1, 872203, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 13, 58, 1, 824458, tzinfo=datetime.timezone.utc), False, 'How to read an early score', None, 'How to read an early score', None, '', None, None, None, '', None, None, None, '', 'how-to-read-an-early-score', 'In order to read a score we need to be aware of different conventions concerning different semiotic aspects that range from the direction of reading to the meaning of single signs as clefs, notes, rests. Scores from the Middle Ages are based upon particular conventions that are not always self-evident. In this video we will share with you some of the most important reading skills for getting familiar with early scores.\r\n{.lead}\r\n\r\n![embed](https://vimeo.com/690890115/3ab69fa3cd)\r\n\r\nThe example we have chosen for this video is a fragment from the Basel University Library that was discovered by Professor Wulf Arlt and Professor Max Haas more than 40 years ago. Since then it almost fell into oblivion. You will have the chance to discover the organum *Alleluya: Vox Sancti Bartholomei* that might have been sung for the first time in 700 years especially for this course by the Ensemble Gilles Binchois under the direction of Dominique Vellard. This organum is preserved in the fragment-manuscript Basel, Universitätsbibliothek, F X 37, fol. 2.', '', 'In order to read a score we need to be aware of different conventions concerning different semiotic aspects that range from the direction of reading to the meaning of single signs as clefs, notes, rests. Scores from the Middle Ages are based upon particular conventions that are not always self-evident. In this video we will share with you some of the most important reading skills for getting familiar with early scores.\r\n{.lead}\r\n\r\n![embed](https://vimeo.com/690890115/3ab69fa3cd)\r\n\r\nThe example we have chosen for this video is a fragment from the Basel University Library that was discovered by Professor Wulf Arlt and Professor Max Haas more than 40 years ago. Since then it almost fell into oblivion. You will have the chance to discover the organum *Alleluya: Vox Sancti Bartholomei* that might have been sung for the first time in 700 years especially for this course by the Ensemble Gilles Binchois under the direction of Dominique Vellard. This organum is preserved in the fragment-manuscript Basel, Universitätsbibliothek, F X 37, fol. 2.', '', '', '', '', '', None, None, None, None, 'Copyright University of Basel', '', 'Copyright University of Basel', '', 'TV', '', 3, 'published', True, "Please share your thoughts and questions in the [comments](#comments) section below. Feel free to answer your colleagues' questions - if you feel able to do so.", None, "Please share your thoughts and questions in the [comments](#comments) section below. Feel free to answer your colleagues' questions - if you feel able to do so.", None, 189), (957, datetime.datetime(2021, 10, 4, 14, 34, 28, 301474, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 13, 59, 35, 624747, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 13, 59, 35, 576656, tzinfo=datetime.timezone.utc), False, 'Rhythmic patterns – how to recognise a mode', None, 'Rhythmic patterns – how to recognise a mode', None, '', None, None, None, '', None, None, None, '', 'rhythmic-patterns-how-to-recognise-a-mode', 'During the period of the Notre Dame school, modal notation was based on a fixed arrangement of rhythmic patterns. These given structures constituted the starting point of this early stage of polyphonic composition.\r\n{.lead}\r\n\r\nIn modal notation we distinguish six modes and their rhythmic patterns. Now you can find out how to recognise a mode from the original notation. The principle is simple: each modal pattern is tagged by the sequence of ligatures or single notes you find at the beginning of a phrase. \r\n\r\n![Table of different modi](/media/markdownx/81d9629a-fc53-4607-be67-f8e6b7fe84f6.jpg)\r\n{.portrait}\r\n\r\n1. The sequence of a ternary ligature followed by binary ligatures marks the first mode. \r\n2. A series of binary ligatures followed by a ternary ligature marks the second mode.\r\n3. A single note followed by ternary ligatures marks the third mode.\r\n4. A series of ternary ligatures followed by a single note marks the fourth mode.\r\n5. A series of ternary ligatures isolated by a stroke marks the fifth mode.\r\n6. The sequence of a four-note ligature followed by ternary ligatures marks the sixth mode.\r\n\r\nThe key to recognising a mode is the combination of the signs. In the last row of the table above you can see a schematic overview of the ligature combinations: 1 stands for a single note; 2 is a *ligatura binaria* (two-note ligature); 3 is a *ligatura ternaria* (three-note ligature) and 4 is a *ligatura quaternaria* (four-note ligature).\r\n\r\nBut what kind of logic did the medieval musicians from Notre Dame follow to encode rhythm in their compositions? \r\n\r\nAs you can observe the duration of the notes here is not inscribed in the single notational figures, thus rhythm cannot be read from the shape of the notes. In modal notation rhythm has to be deduced by scanning and counting the combination of single notes and ligatures. The sequence of signs (single notes, two-note ligatures and three-note ligatures) enables the reader to recognise the rhythmical mode. Compared to modern notation, rhythm is here codified in a more abstract manner which is based on the concept of the number (*numerus*).', '', 'During the period of the Notre Dame school, modal notation was based on a fixed arrangement of rhythmic patterns. These given structures constituted the starting point of this early stage of polyphonic composition.\r\n{.lead}\r\n\r\nIn modal notation we distinguish six modes and their rhythmic patterns. Now you can find out how to recognise a mode from the original notation. The principle is simple: each modal pattern is tagged by the sequence of ligatures or single notes you find at the beginning of a phrase. \r\n\r\n![Table of different modi](/media/markdownx/81d9629a-fc53-4607-be67-f8e6b7fe84f6.jpg)\r\n{.portrait}\r\n\r\n1. The sequence of a ternary ligature followed by binary ligatures marks the first mode. \r\n2. A series of binary ligatures followed by a ternary ligature marks the second mode.\r\n3. A single note followed by ternary ligatures marks the third mode.\r\n4. A series of ternary ligatures followed by a single note marks the fourth mode.\r\n5. A series of ternary ligatures isolated by a stroke marks the fifth mode.\r\n6. The sequence of a four-note ligature followed by ternary ligatures marks the sixth mode.\r\n\r\nThe key to recognising a mode is the combination of the signs. In the last row of the table above you can see a schematic overview of the ligature combinations: 1 stands for a single note; 2 is a *ligatura binaria* (two-note ligature); 3 is a *ligatura ternaria* (three-note ligature) and 4 is a *ligatura quaternaria* (four-note ligature).\r\n\r\nBut what kind of logic did the medieval musicians from Notre Dame follow to encode rhythm in their compositions? \r\n\r\nAs you can observe the duration of the notes here is not inscribed in the single notational figures, thus rhythm cannot be read from the shape of the notes. In modal notation rhythm has to be deduced by scanning and counting the combination of single notes and ligatures. The sequence of signs (single notes, two-note ligatures and three-note ligatures) enables the reader to recognise the rhythmical mode. Compared to modern notation, rhythm is here codified in a more abstract manner which is based on the concept of the number (*numerus*).', '', '', '', '', '', None, None, None, None, 'Copyright: University of Basel', '', 'Copyright: University of Basel', '', 'TT', '', 4, 'published', True, 'Please leave your thoughts in the [section](#comments) below.', None, 'Please leave your thoughts in the [section](#comments) below.', None, 189), (958, datetime.datetime(2021, 10, 4, 14, 35, 19, 361511, tzinfo=datetime.timezone.utc), datetime.datetime(2021, 10, 26, 12, 23, 2, 652757, tzinfo=datetime.timezone.utc), datetime.datetime(2021, 10, 26, 12, 23, 2, 631158, tzinfo=datetime.timezone.utc), False, 'Which mode is it?', None, 'Which mode is it?', None, '', None, None, None, '', None, None, None, '', 'which-mode-is-it', 'The first step for understanding the *organa* of the Notre Dame period is to recognise the rhythmic mode. Now you can assess your ability to do this.\r\n{.lead}\r\n\r\n<iframe src="https://h5p.nmc.unibas.ch/wp-admin/admin-ajax.php?action=h5p_embed&id=285" width="680" height="656" frameborder="0" allowfullscreen="allowfullscreen" title="Ink_to_Sound_3_6"></iframe><script src="https://h5p.nmc.unibas.ch/wp-content/plugins/h5p/h5p-php-library/js/h5p-resizer.js" charset="UTF-8"></script>', '', 'The first step for understanding the *organa* of the Notre Dame period is to recognise the rhythmic mode. Now you can assess your ability to do this.\r\n{.lead}\r\n\r\n<iframe src="https://h5p.nmc.unibas.ch/wp-admin/admin-ajax.php?action=h5p_embed&id=285" width="680" height="656" frameborder="0" allowfullscreen="allowfullscreen" title="Ink_to_Sound_3_6"></iframe><script src="https://h5p.nmc.unibas.ch/wp-content/plugins/h5p/h5p-php-library/js/h5p-resizer.js" charset="UTF-8"></script>', '', '', '', '', '', None, None, None, None, '', '', '', '', 'TQ', '', 5, 'published', False, None, None, None, None, 189), (959, datetime.datetime(2021, 10, 4, 14, 35, 48, 962529, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 14, 1, 6, 717392, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 14, 1, 6, 663476, tzinfo=datetime.timezone.utc), False, 'Transcribing modal notation', None, 'Transcribing modal notation', None, '', None, None, None, '', None, None, None, '', 'transcribing-modal-notation', 'Now it’s time to find out how to transcribe medieval notation. \r\n{.lead}\r\n\r\n![embed](https://vimeo.com/690890336/73605825f3)\r\n\r\nIn this video we will give you some general hints about the basic technique of transcribing music and explain the main issues of modal notation that you will meet whenever you transcribe this kind of notation. We will practise this upon the three-voice clausula *Go* from the manuscript Firenze, Biblioteca Medicea Laurenziana, Plut. 29.1, fol. 11r.\r\n\r\n![Facsimile of the clausula "Go"](/media/markdownx/d9d7fb61-9d0d-4bda-8d58-88f5f8b6ce54.jpg)\r\n{.portrait}\r\n\r\n&copy; Firenze Biblioteca Medicea Laurenziana, Plut. 29.1, fol. 11r\r\n{.footnote}\r\n\r\nYou can find the transcription of the piece in the ‘downloads’ section below.', '', 'Now it’s time to find out how to transcribe medieval notation. \r\n{.lead}\r\n\r\n![embed](https://vimeo.com/690890336/73605825f3)\r\n\r\nIn this video we will give you some general hints about the basic technique of transcribing music and explain the main issues of modal notation that you will meet whenever you transcribe this kind of notation. We will practise this upon the three-voice clausula *Go* from the manuscript Firenze, Biblioteca Medicea Laurenziana, Plut. 29.1, fol. 11r.\r\n\r\n![Facsimile of the clausula "Go"](/media/markdownx/d9d7fb61-9d0d-4bda-8d58-88f5f8b6ce54.jpg)\r\n{.portrait}\r\n\r\n&copy; Firenze Biblioteca Medicea Laurenziana, Plut. 29.1, fol. 11r\r\n{.footnote}\r\n\r\nYou can find the transcription of the piece in the ‘downloads’ section below.', '', '', '', '', '', None, None, None, None, 'Copyright: University of Basel', '', 'Copyright: University of Basel', '', 'TV', '', 6, 'published', True, "Please share your thoughts and questions in the [comments](#comments) section below. Feel free to answer your colleagues' questions - if you feel able to do so.", None, "Please share your thoughts and questions in the [comments](#comments) section below. Feel free to answer your colleagues' questions - if you feel able to do so.", None, 189), (960, datetime.datetime(2021, 10, 4, 14, 45, 24, 890773, tzinfo=datetime.timezone.utc), datetime.datetime(2021, 10, 5, 9, 46, 22, 246738, tzinfo=datetime.timezone.utc), datetime.datetime(2021, 10, 5, 9, 46, 22, 219412, tzinfo=datetime.timezone.utc), False, 'Transcribing medieval notation', None, 'Transcribing medieval notation', None, 'an overview', None, 'an overview', None, '', None, None, None, '', 'transcribing-medieval-notation', 'What are the necessary steps when transcribing modal notation? And how do you start your transcription? Through this article we offer you a step by step overview on the fundamentals of transcribing any kind of medieval music.\r\n{.lead}\r\n\r\nTry to determine the type of notation and the number of voices. In this case it is a three-voice composition in modal notation. \r\n\r\n![Detail of the facsimile of the clausula *Go*](/media/tales/markdownx/41192d22-e2e1-4693-8d81-114e590978ea.jpg)\r\n{.portrait}\r\n\r\nDetail of the facsimile of the clausula *Go*. <br>\r\n&copy; Firenze Biblioteca Medicea Laurenziana, Plut. 29.1, fol. 11r\r\n{.footnote}\r\n\r\nIdentify the exact beginning of the piece. \r\n\r\n---\r\n\r\nPut an incipit at the beginning of your transcription and establish the range of the voices.\r\n\r\n\r\n![Beginning of a Transcription](/media/tales/markdownx/e258854a-1c8d-42e7-87f4-cd2188e1de67.jpg)\r\n{.portrait}\r\n\r\nBegin writing the clefs and, if there are any, the flats. If the clef is missing, as here in the upper voice, simply add it, if the flat is missing in one voice you can add it in square brackets. \r\n\r\n---\r\n\r\nLook at the first *ordo* and recognise the rhythmic mode. Here we have a first mode. This can be easily recognised by the sequence of a ternary ligature followed by binary ligatures.\r\n\r\n![Detail of the facsimile of the clausula *Go* with the transciption of the tenor underneath](/media/tales/markdownx/28fdd016-a79e-40e6-9388-df81081ec362.jpg)\r\n{.portrait}\r\n\r\n\r\nStart always to transcribe from the lowest voice, the tenor, which has usually the longest note values. So you will have a better control on the general structure of the piece.\r\n\r\n---\r\n\r\nGo on transcribing the upper voices. Pay attention to the specific rules of modal notation. Some of those rules you know already – other you will explore in the upcoming steps. \r\n\r\n![Detail of the facsimile of the clausula *Go* with the transciption of all three voices underneath](/media/tales/markdownx/d18e83bf-af71-4288-8a7f-f7ed3a1a7e9f.jpg)\r\n{.portrait}', '', 'What are the necessary steps when transcribing modal notation? And how do you start your transcription? Through this article we offer you a step by step overview on the fundamentals of transcribing any kind of medieval music.\r\n{.lead}\r\n\r\nTry to determine the type of notation and the number of voices. In this case it is a three-voice composition in modal notation. \r\n\r\n![Detail of the facsimile of the clausula *Go*](/media/markdownx/41192d22-e2e1-4693-8d81-114e590978ea.jpg)\r\n{.portrait}\r\n\r\nDetail of the facsimile of the clausula *Go*. <br>\r\n&copy; Firenze Biblioteca Medicea Laurenziana, Plut. 29.1, fol. 11r\r\n{.footnote}\r\n\r\nIdentify the exact beginning of the piece. \r\n\r\n---\r\n\r\nPut an incipit at the beginning of your transcription and establish the range of the voices.\r\n\r\n\r\n![Beginning of a Transcription](/media/markdownx/e258854a-1c8d-42e7-87f4-cd2188e1de67.jpg)\r\n{.portrait}\r\n\r\nBegin writing the clefs and, if there are any, the flats. If the clef is missing, as here in the upper voice, simply add it, if the flat is missing in one voice you can add it in square brackets. \r\n\r\n---\r\n\r\nLook at the first *ordo* and recognise the rhythmic mode. Here we have a first mode. This can be easily recognised by the sequence of a ternary ligature followed by binary ligatures.\r\n\r\n![Detail of the facsimile of the clausula *Go* with the transciption of the tenor underneath](/media/markdownx/28fdd016-a79e-40e6-9388-df81081ec362.jpg)\r\n{.portrait}\r\n\r\n\r\nStart always to transcribe from the lowest voice, the tenor, which has usually the longest note values. So you will have a better control on the general structure of the piece.\r\n\r\n---\r\n\r\nGo on transcribing the upper voices. Pay attention to the specific rules of modal notation. Some of those rules you know already – other you will explore in the upcoming steps. \r\n\r\n![Detail of the facsimile of the clausula *Go* with the transciption of all three voices underneath](/media/markdownx/d18e83bf-af71-4288-8a7f-f7ed3a1a7e9f.jpg)\r\n{.portrait}', '', '', '', '', '', None, None, None, None, '', '', '', '', 'TT', '', 7, 'published', False, None, None, None, None, 189), (961, datetime.datetime(2021, 10, 4, 14, 50, 14, 666055, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 14, 4, 20, 332558, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 14, 4, 20, 288448, tzinfo=datetime.timezone.utc), False, 'Lost in translation', None, 'Lost in translation', None, '', None, None, None, '', None, None, None, '', 'lost-in-translation', "As we look at magnificent medieval manuscripts, a question arises: was their sole purpose to 'conserve' the music after a performance? Perhaps the musicians were supposed to sing by heart or use less elaborated scripts that are lost today. If this is true, do we really have to take the music of the past 'literally'?\r\n{.lead}\r\n\r\nDuring the last chapters you got acquainted with many new signs and now you understand that they can be difficult to 'translate' into modern notation. What are your strategies to avoid this 'loss in translation'?\r\n\r\nWe suggest that you note your reflections down.", '', "As we look at magnificent medieval manuscripts, a question arises: was their sole purpose to 'conserve' the music after a performance? Perhaps the musicians were supposed to sing by heart or use less elaborated scripts that are lost today. If this is true, do we really have to take the music of the past 'literally'?\r\n{.lead}\r\n\r\nDuring the last chapters you got acquainted with many new signs and now you understand that they can be difficult to 'translate' into modern notation. What are your strategies to avoid this 'loss in translation'?\r\n\r\nWe suggest that you note your reflections down.", '', '', '', '', '', None, None, None, None, 'Copyright: University of Basel', '', 'Copyright: University of Basel', '', 'TT', '', 8, 'published', True, 'Please reflect and discuss the advantages and the disadvantages of transcriptions. Use the [comments](#comments) section below for your discussion.', None, 'Please reflect and discuss the advantages and the disadvantages of transcriptions. Use the [comments](#comments) section below for your discussion.', None, 189), (962, datetime.datetime(2021, 10, 4, 14, 51, 0, 644140, tzinfo=datetime.timezone.utc), datetime.datetime(2022, 3, 29, 12, 19, 39, 246798, tzinfo=datetime.timezone.utc), datetime.datetime(2022, 3, 29, 12, 19, 39, 160328, tzinfo=datetime.timezone.utc), False, 'Extensio in fraction modi', None, 'Extensio in fraction modi', None, '', None, None, None, '', None, None, None, '', 'extensio-in-fraction-modi', 'In a previous video we gave you an overview of the basic technique of transcribing modal notation as well as of the fundamental principles of composition of the Notre Dame organum. Here you will find a short résumé of the two central compositional concepts, *extensio modi* and *fractio modi*. \r\n{.lead}\r\n\r\nModal notation does not offer many possibilities for rhythmic variety. Its six patterns can of course be combined and the voices can change modes several times during the course of a composition. Nevertheless modal structure is somehow limited. The modal pattern of a musical phrase could be modified by interpolating single notes in the phrase. In order to bring more variety to the rigid modal structure, two compositional devices were employed, which were able to interrupt the uniformity of the rhythmical flow: the *extensio modi* and the *fractio modi*. In both cases, modal notation allows to make some adjustments to the rhythmic framework through the modification of the ligature structure. \r\n\r\nThe musicologist Willi Apel defines the *extensio modi* as follows:\r\n\r\n<br>\r\n\r\n>This term is used here to denote the occasional omission of a *brevis* (eighth-note of the transcription). Such a modification of the modal pattern is very frequently used at the end of an *ordo*. (Apel 1953, p. 234)\r\n\r\n<br>\r\n\r\n![Extensio modi from the Transcription of the clausula Go](/media/tales/markdownx/bee4458c-7948-414f-9800-8c34789b308e.jpg)\r\n{.portrait}\r\n\r\nClausula *Go*. <br>\r\n&copy; Firenze, Biblioteca Medicea Laurenziana, Plut. 29.1 fol. 11r\r\n{.footnote}\r\n\r\n<br>\r\n\r\nThis passage is set in the first mode. In the facsimile you can see a single note at the end of the *ordo*, which breaks the flow of two-note ligatures. This note causes the interruption of the rhythmic pattern by extending the two last notes.\r\n\r\nAnd here is Willi Apel’s definition of the second compositional practice, the *fractio modi*: \r\n\r\n<br>\r\n\r\n>This term signifies the opposite procedure of *extensio modi*, that is, the breaking up of the normal pattern of the modal rhythm into smaller values, preferably of the *longa* into two *breves*. (Apel 1953, p. 235)\r\n\r\n<br>\r\n\r\n![Fractio modi from the Transcription of the clausula Go](/media/tales/markdownx/01166f77-20f5-4ec2-b98a-14dbb44462f4.jpg)\r\n{.portrait}\r\n\r\nClausula *Go*. <br>\r\n&copy; Firenze, Biblioteca Medicea Laurenziana, Plut. 29.1 fol. 11r\r\n{.footnote}\r\n\r\n<br>\r\n\r\nThis excerpt shows an *ordo* in the first mode, its end indicated with a vertical dash on the right-hand side. Within the pink circle, you see a single note that is followed by a four-note ligature: we are confronted here with some exceptions.\r\n \r\nThe single note, being situated within the *ordo* and therefore to be read in the pattern of the mode, corresponds to the value of a quaver. We would need to read it differently if it appeared at the end of the phrase: then it would signal extension (in the sense of *extensio modi*).\r\n \r\nAfter the single note we would probably expect a unity of three notes, expressing the pairing required by the first mode to be continued. In other words, we would assume that the passage encircled should provide the succession of short-long note values. But the following four-note ligature exceeds the first mode by one note (no such a ligature is foreseen in that mode). As we have an unexpected ‘surplus’ note at the beginning of the ligature, we need to adapt our interpretation. The solution of the puzzle is, that we have to read the first two notes of the four-note-ligature as corresponding to two short note values, followed by a standard short value and a long value that resume the pattern of the mode. Thus, instead of a long note value at the beginning of the four-note ligature we will have two short notes that literally break up the mode: a so called *fractio modi* occurs. \r\n\r\nA *plica* can also be considered a form of *fractio modi*, for at the end of the second ligature a smaller note value breaks the pattern of the mode.\r\n\r\n<br>\r\n\r\n---\r\n\r\n##References\r\n\r\nApel, Willi. [The Notation of Polyphonic Music 900–1600](https://archive.org/details/notationofpolyph1953apel){:target=“_blank”}. Cambridge MA: The Medieval Academy of America, Fifth Edition, 1953.\r\n{.citation-indented}', '', 'In a previous video we gave you an overview of the basic technique of transcribing modal notation as well as of the fundamental principles of composition of the Notre Dame organum. Here you will find a short résumé of the two central compositional concepts, *extensio modi* and *fractio modi*. \r\n{.lead}\r\n\r\nModal notation does not offer many possibilities for rhythmic variety. Its six patterns can of course be combined and the voices can change modes several times during the course of a composition. Nevertheless modal structure is somehow limited. The modal pattern of a musical phrase could be modified by interpolating single notes in the phrase. In order to bring more variety to the rigid modal structure, two compositional devices were employed, which were able to interrupt the uniformity of the rhythmical flow: the *extensio modi* and the *fractio modi*. In both cases, modal notation allows to make some adjustments to the rhythmic framework through the modification of the ligature structure. \r\n\r\nThe musicologist Willi Apel defines the *extensio modi* as follows:\r\n\r\n<br>\r\n\r\n>This term is used here to denote the occasional omission of a *brevis* (eighth-note of the transcription). Such a modification of the modal pattern is very frequently used at the end of an *ordo*. (Apel 1953, p. 234)\r\n\r\n<br>\r\n\r\n![Extensio modi from the Transcription of the clausula Go](/media/markdownx/bee4458c-7948-414f-9800-8c34789b308e.jpg)\r\n{.portrait}\r\n\r\nClausula *Go*. <br>\r\n&copy; Firenze, Biblioteca Medicea Laurenziana, Plut. 29.1 fol. 11r\r\n{.footnote}\r\n\r\n<br>\r\n\r\nThis passage is set in the first mode. In the facsimile you can see a single note at the end of the *ordo*, which breaks the flow of two-note ligatures. This note causes the interruption of the rhythmic pattern by extending the two last notes.\r\n\r\nAnd here is Willi Apel’s definition of the second compositional practice, the *fractio modi*: \r\n\r\n<br>\r\n\r\n>This term signifies the opposite procedure of *extensio modi*, that is, the breaking up of the normal pattern of the modal rhythm into smaller values, preferably of the *longa* into two *breves*. (Apel 1953, p. 235)\r\n\r\n<br>\r\n\r\n![Fractio modi from the Transcription of the clausula Go](/media/markdownx/01166f77-20f5-4ec2-b98a-14dbb44462f4.jpg)\r\n{.portrait}\r\n\r\nClausula *Go*. <br>\r\n&copy; Firenze, Biblioteca Medicea Laurenziana, Plut. 29.1 fol. 11r\r\n{.footnote}\r\n\r\n<br>\r\n\r\nThis excerpt shows an *ordo* in the first mode, its end indicated with a vertical dash on the right-hand side. Within the pink circle, you see a single note that is followed by a four-note ligature: we are confronted here with some exceptions.\r\n \r\nThe single note, being situated within the *ordo* and therefore to be read in the pattern of the mode, corresponds to the value of a quaver. We would need to read it differently if it appeared at the end of the phrase: then it would signal extension (in the sense of *extensio modi*).\r\n \r\nAfter the single note we would probably expect a unity of three notes, expressing the pairing required by the first mode to be continued. In other words, we would assume that the passage encircled should provide the succession of short-long note values. But the following four-note ligature exceeds the first mode by one note (no such a ligature is foreseen in that mode). As we have an unexpected ‘surplus’ note at the beginning of the ligature, we need to adapt our interpretation. The solution of the puzzle is, that we have to read the first two notes of the four-note-ligature as corresponding to two short note values, followed by a standard short value and a long value that resume the pattern of the mode. Thus, instead of a long note value at the beginning of the four-note ligature we will have two short notes that literally break up the mode: a so called *fractio modi* occurs. \r\n\r\nA *plica* can also be considered a form of *fractio modi*, for at the end of the second ligature a smaller note value breaks the pattern of the mode.\r\n\r\n<br>\r\n\r\n---\r\n\r\n##References\r\n\r\nApel, Willi. [The Notation of Polyphonic Music 900–1600](https://archive.org/details/notationofpolyph1953apel){:target=“_blank”}. Cambridge MA: The Medieval Academy of America, Fifth Edition, 1953.\r\n{.citation-indented}', '', '', '', '', '', None, None, None, None, '', '', '', '', 'TT', '', 9, 'published', False, None, None, None, None, 189), (963, datetime.datetime(2021, 10, 4, 14, 55, 47, 238308, tzinfo=datetime.timezone.utc), datetime.datetime(2021, 10, 26, 13, 2, 24, 676408, tzinfo=datetime.timezone.utc), datetime.datetime(2021, 10, 26, 13, 2, 24, 655332, tzinfo=datetime.timezone.utc), False, 'Dealing with extensio and fractio modi', None, 'Dealing with extensio and fractio modi', None, '', None, None, None, '', None, None, None, '', 'dealing-with-extensio-and-fractio-modi', 'In the previous step you have learned to distinguish *extensio modi* from *fractio modi*. These two compositional strategies made it possible to soften the strict patterns of modal notation. \r\n{.lead}\r\n\r\nBy understanding how medieval notation works we get the opportunity to access a huge repertory of music that otherwise would be forgotten. \r\n \r\nNow you can assess your ability to decode music of the past written in modal notation. The questions will cover not only the difference between *extensio modi* and *fractio modi* but also other topics of this chapter.\r\n\r\nMultiple answers are possible.\r\n\r\n<br>\r\n\r\n<iframe src="https://h5p.nmc.unibas.ch/wp-admin/admin-ajax.php?action=h5p_embed&id=286" width="783" height="577" frameborder="0" allowfullscreen="allowfullscreen" title="Ink_to_Sound_3_11"></iframe><script src="https://h5p.nmc.unibas.ch/wp-content/plugins/h5p/h5p-php-library/js/h5p-resizer.js" charset="UTF-8"></script>', '', 'In the previous step you have learned to distinguish *extensio modi* from *fractio modi*. These two compositional strategies made it possible to soften the strict patterns of modal notation. \r\n{.lead}\r\n\r\nBy understanding how medieval notation works we get the opportunity to access a huge repertory of music that otherwise would be forgotten. \r\n \r\nNow you can assess your ability to decode music of the past written in modal notation. The questions will cover not only the difference between *extensio modi* and *fractio modi* but also other topics of this chapter.\r\n\r\nMultiple answers are possible.\r\n\r\n<br>\r\n\r\n<iframe src="https://h5p.nmc.unibas.ch/wp-admin/admin-ajax.php?action=h5p_embed&id=286" width="783" height="577" frameborder="0" allowfullscreen="allowfullscreen" title="Ink_to_Sound_3_11"></iframe><script src="https://h5p.nmc.unibas.ch/wp-content/plugins/h5p/h5p-php-library/js/h5p-resizer.js" charset="UTF-8"></script>', '', '', '', '', '', None, None, None, None, '', '', '', '', 'TQ', '', 10, 'published', False, None, None, None, None, 189), (964, datetime.datetime(2021, 10, 4, 14, 56, 18, 884595, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 15, 0, 4, 201965, tzinfo=datetime.timezone.utc), datetime.datetime(2024, 3, 8, 15, 0, 4, 155827, tzinfo=datetime.timezone.utc), False, 'Wrap up chapter 3', None, 'Wrap up chapter 3', None, '', None, None, None, '', None, None, None, '', 'wrap-up-chapter-3', 'Congratulations, with this step you reached the end of the third chapter! \r\n{.lead}\r\n\r\nIn this chapter you had to solve a quite difficult task getting some basic information about the historical development of polyphony in Western music history and becoming acquainted with the modal notation of the 13th century. You learned more about the historical event of codifying time intervals in musical notation and how to transcribe modal notation into modern notation considering the two central compositional concepts of *extensio modi* and *fractio modi*.\r\n\r\nIn the next and last chapter we will focus on a historical shift in the evolution of musical notation and practice the technique of transcribing mensural notation. Transcribing mensural notation is not an easy task, so don’t give up too fast and follow your own pace when practicing.', '', 'Congratulations, with this step you reached the end of the third chapter! \r\n{.lead}\r\n\r\nIn this chapter you had to solve a quite difficult task getting some basic information about the historical development of polyphony in Western music history and becoming acquainted with the modal notation of the 13th century. You learned more about the historical event of codifying time intervals in musical notation and how to transcribe modal notation into modern notation considering the two central compositional concepts of *extensio modi* and *fractio modi*.\r\n\r\nIn the next and last chapter we will focus on a historical shift in the evolution of musical notation and practice the technique of transcribing mensural notation. Transcribing mensural notation is not an easy task, so don’t give up too fast and follow your own pace when practicing.', '', '', '', '', '', None, None, None, None, 'Copyright: University of Basel', '', 'Copyright: University of Basel', '', 'TT', '', 11, 'published', True, 'What have you learned so far? Share a list of two to three key points in the [comments](#comments) section below.', None, 'What have you learned so far? Share a list of two to three key points in the [comments](#comments) section below.', None, 189)]])}, None) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1064)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(715)
  obj = self.var.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(847)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in _resolve_lookup(914)
  current = current()

/app/project/lms_tales/models.py in get_step_number(121)
  step_list = list(self.chapter.published_steps.all().order_by("order"))

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(71)
  cache.set_many(to_be_set, cachalot_settings.CACHALOT_TIMEOUT)

0,3917 get ('waffle:4.1.0e9e267545e7f919d987e2d016e67ed7e',) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/waffle/templatetags/waffle_tags.py in render(36)
  if self.condition(context.get('request', None), name):

/usr/local/lib/python3.11/site-packages/waffle/__init__.py in flag_is_active(19)
  flag = get_waffle_flag_model().get(flag_name)

/usr/local/lib/python3.11/site-packages/waffle/models.py in get(52)
  cached = cache.get(cache_key)

0,2825 get_many (['138549f5508bbba7283d6a0625e51c589d845e8f', '4f1f0b4dfbd30463b5587753e6f3e6ca21ddbf60', '9a3bb3d750415727c26eb53e3b0a675b5cd3a19e'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(320)
  if match:

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2410 get_many (['138549f5508bbba7283d6a0625e51c589d845e8f', '4f1f0b4dfbd30463b5587753e6f3e6ca21ddbf60', '9a3bb3d750415727c26eb53e3b0a675b5cd3a19e'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(194)
  len_values = len(values)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2456 get_many (['d00779073776b2287204a6fa5336494275fc73d5', '756ede0a523a4a0b5591484fc42e7d33b94bcbe8'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(238)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1064)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(715)
  obj = self.var.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(847)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in _resolve_lookup(890)
  current = getattr(current, bit)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2991 set_many ({'756ede0a523a4a0b5591484fc42e7d33b94bcbe8': (1736590801.9451456, [[(370, datetime.datetime(2022, 3, 23, 15, 22, 55, 430718, tzinfo=datetime.timezone.utc), datetime.datetime(2022, 3, 23, 15, 22, 55, 430718, tzinfo=datetime.timezone.utc), 'Slides_cantus_and_discantus.pdf', 32, 'from-ink-to-sound/Slides_cantus_and_discantus.pdf')]])}, None) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(238)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1064)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(715)
  obj = self.var.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(847)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in _resolve_lookup(890)
  current = getattr(current, bit)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(71)
  cache.set_many(to_be_set, cachalot_settings.CACHALOT_TIMEOUT)

0,2417 get_many (['d00779073776b2287204a6fa5336494275fc73d5', '91b19a4ddb4d6a7cc5c6a73431fa8395255b1e09'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(238)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1064)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(715)
  obj = self.var.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(847)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in _resolve_lookup(890)
  current = getattr(current, bit)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2656 set_many ({'91b19a4ddb4d6a7cc5c6a73431fa8395255b1e09': (1736590801.9499793, [[(371, datetime.datetime(2022, 3, 23, 15, 23, 1, 483149, tzinfo=datetime.timezone.utc), datetime.datetime(2022, 3, 23, 15, 23, 1, 483149, tzinfo=datetime.timezone.utc), 'Transcript_cantus_and_discantus.pdf', 32, 'from-ink-to-sound/Transcript_cantus_and_discantus.pdf')]])}, None) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(321)
  return nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(238)
  nodelist.append(node.render_annotated(context))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1064)
  output = self.filter_expression.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(715)
  obj = self.var.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(847)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in _resolve_lookup(890)
  current = getattr(current, bit)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(71)
  cache.set_many(to_be_set, cachalot_settings.CACHALOT_TIMEOUT)

0,2425 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', '73569659a41ed5e89bdd8a12ffc547d6d1647a7d'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(314)
  match = condition.eval(context)

/usr/local/lib/python3.11/site-packages/django/template/smartif.py in eval(60)
  return func(context, self.first, self.second)

/usr/local/lib/python3.11/site-packages/django/template/smartif.py in <lambda>(103)
  "is not": infix(10, lambda context, x, y: x.eval(context) is not y.eval(context)),

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in eval(877)
  return self.value.resolve(context, ignore_failures=True)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(715)
  obj = self.var.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(847)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in _resolve_lookup(914)
  current = current()

/app/project/lms_tales/models.py in get_absolute_url(99)
  str(self.chapter.course.slug),

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2446 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', 'f0014698d826cbea74e2655ce8ab52b4d8a04f63'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(314)
  match = condition.eval(context)

/usr/local/lib/python3.11/site-packages/django/template/smartif.py in eval(60)
  return func(context, self.first, self.second)

/usr/local/lib/python3.11/site-packages/django/template/smartif.py in <lambda>(103)
  "is not": infix(10, lambda context, x, y: x.eval(context) is not y.eval(context)),

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in eval(877)
  return self.value.resolve(context, ignore_failures=True)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(715)
  obj = self.var.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(847)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in _resolve_lookup(914)
  current = current()

/app/project/lms_tales/models.py in get_absolute_url(99)
  str(self.chapter.course.slug),

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2372 get_many (['76e323efd8711853e13c9f7cf976845908364eb2', '0aedb852df4cb7ed168853603afbf4d8551b8bc6'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(314)
  match = condition.eval(context)

/usr/local/lib/python3.11/site-packages/django/template/smartif.py in eval(60)
  return func(context, self.first, self.second)

/usr/local/lib/python3.11/site-packages/django/template/smartif.py in <lambda>(103)
  "is not": infix(10, lambda context, x, y: x.eval(context) is not y.eval(context)),

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in eval(877)
  return self.value.resolve(context, ignore_failures=True)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(715)
  obj = self.var.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(847)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in _resolve_lookup(914)
  current = current()

/app/project/lms_tales/models.py in get_absolute_url(99)
  str(self.chapter.course.slug),

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2518 get_many (['e3a5db5a670ad803efb866441f33de58309be2e2', 'f0014698d826cbea74e2655ce8ab52b4d8a04f63'],) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(541)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in render(314)
  match = condition.eval(context)

/usr/local/lib/python3.11/site-packages/django/template/smartif.py in eval(60)
  return func(context, self.first, self.second)

/usr/local/lib/python3.11/site-packages/django/template/smartif.py in <lambda>(103)
  "is not": infix(10, lambda context, x, y: x.eval(context) is not y.eval(context)),

/usr/local/lib/python3.11/site-packages/django/template/defaulttags.py in eval(877)
  return self.value.resolve(context, ignore_failures=True)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(715)
  obj = self.var.resolve(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in resolve(847)
  value = self._resolve_lookup(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in _resolve_lookup(914)
  current = current()

/app/project/lms_tales/models.py in get_absolute_url(99)
  str(self.chapter.course.slug),

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(37)
  return original(compiler, *args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in inner(96)
  return _get_result_or_execute_query(

/usr/local/lib/python3.11/site-packages/cachalot/monkey_patch.py in _get_result_or_execute_query(46)
  data = cache.get_many(table_cache_keys + [cache_key])

0,2485 get ('waffle:4.1.0e9e267545e7f919d987e2d016e67ed7e',) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_patched_render(41)
  return old_render(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/usr/local/lib/python3.11/site-packages/sentry_sdk/utils.py in runner(1788)
  return sentry_patched_function(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py in rendered_content(77)
  return real_rendered_content.fget(self)

/usr/local/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/usr/local/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(175)
  return self._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(157)
  return compiled_parent._render(context)

/usr/local/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(112)
  return self.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/django/template/loader_tags.py in render(63)
  result = block.nodelist.render(context)

/usr/local/lib/python3.11/site-packages/django/template/base.py in render(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1005)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/usr/local/lib/python3.11/site-packages/django/template/base.py in render_annotated(966)
  return self.render(context)

/usr/local/lib/python3.11/site-packages/waffle/templatetags/waffle_tags.py in render(36)
  if self.condition(context.get('request', None), name):

/usr/local/lib/python3.11/site-packages/waffle/__init__.py in flag_is_active(19)
  flag = get_waffle_flag_model().get(flag_name)

/usr/local/lib/python3.11/site-packages/waffle/models.py in get(52)
  cached = cache.get(cache_key)

1,5902 set ('view_cache_view_/de/from-ink-to-sound-32/coordination-in-rhythm-modal-notation-189/cantus-and-discantus-928_anonymous', <TemplateResponse status_code=200, "text/html; charset=utf-8">, 600) {} <django_redis.cache.RedisCache object at 0x75247bdd6510>
/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in run(101)
  return _run_old_run_func()

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/threading.py in _run_old_run_func(94)
  return old_run_func(self, *a, **kw)

/usr/local/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/usr/local/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in middleware(32)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/allauth/account/middleware.py in middleware(36)
  response = get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/simple_history/middleware.py in middleware(41)
  return get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/app/project/lms_tales/middleware.py in __call__(168)
  response = self.get_response(request)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/middleware.py in __call__(177)
  return f(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/cachalot/panels.py in process_request(41)
  return super(CachalotPanel, self).process_request(request)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in __call__(244)
  current_executor.run_until_future(call_result)

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run_until_future(81)
  work_item.run()

/usr/local/lib/python3.11/site-packages/asgiref/current_thread_executor.py in run(40)
  result = self.fn(*self.args, **self.kwargs)

/usr/local/lib/python3.11/site-packages/asgiref/sync.py in thread_handler(522)
  return func(*args, **kwargs)

/usr/local/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py in sentry_wrapped_callback(90)
  return callback(request, *args, **kwargs)

/app/project/utils/decorators.py in apply_cache(72)
  cache.set(CACHE_KEY, response.render(), ttl)

Cachalot

Database 'default'

Application Model Last invalidation
django_q Failure 2 Stunden, 13 Minuten
reporting Report 2 Stunden, 13 Minuten
django_q Schedule 2 Stunden, 29 Minuten
lms_tales CourseMetrics 9 Stunden, 19 Minuten
search FulltextSearchModel 11 Stunden, 19 Minuten
lms_tales HistoricalTalesChapter 3 Tage, 23 Stunden
lms_tales TalesChapter 3 Tage, 23 Stunden
search TrigramSearchModel 3 Tage, 23 Stunden
lms_tales HistoricalTalesCourse 3 Tage, 23 Stunden
lms_tales TalesCourse 3 Tage, 23 Stunden
lms_tales HistoricalTalesStep 3 Tage, 23 Stunden
lms_tales TalesStep 3 Tage, 23 Stunden
lms_tales TalesCourseRun 3 Tage, 23 Stunden
startpage SliderItem 4 Tage, 18 Stunden
startpage CategoryCourse 4 Tage, 18 Stunden
tags Category 4 Tage, 18 Stunden
tags Tag 4 Tage, 18 Stunden
lms_static_texts StaticText 4 Tage, 18 Stunden
lms_static_texts HistoricalStaticText 4 Tage, 18 Stunden
lms_comments Comment 4 Tage, 18 Stunden
lms_comments Reply 4 Tage, 18 Stunden
lms_comments Reaction 4 Tage, 18 Stunden
lms_comments Flag 4 Tage, 18 Stunden
lms_tales TalesStepFileNew 4 Tage, 18 Stunden
lms_tales TalesStepFile 4 Tage, 18 Stunden
lms_tales TalesCourseFile 4 Tage, 18 Stunden
lms_tales TalesAuthor 4 Tage, 18 Stunden
lms_tales TalesPartner 4 Tage, 18 Stunden
lms_tales TalesGlossaryItem 4 Tage, 18 Stunden
lms_tales TalesPath 4 Tage, 18 Stunden
lms_tales TalesPathStep 4 Tage, 18 Stunden
lms_tales TalesPortalPage 4 Tage, 18 Stunden
lms_tales TalesPortalPageCourse 4 Tage, 18 Stunden
lms_tales TalesCourseRunStep 4 Tage, 18 Stunden
lms_tales ScheduledMessage 4 Tage, 18 Stunden
lms_tales HistoricalTalesStepFile 4 Tage, 18 Stunden
lms_tales HistoricalTalesPath 4 Tage, 18 Stunden
lms_base GlossaryMixin 4 Tage, 18 Stunden
lms_base GlossaryItemMixin 4 Tage, 18 Stunden
users User 4 Tage, 18 Stunden
users UserSettings 4 Tage, 18 Stunden
auth Permission 4 Tage, 18 Stunden
auth Group 4 Tage, 18 Stunden
contenttypes ContentType 4 Tage, 18 Stunden
sessions Session 4 Tage, 18 Stunden
sites Site 4 Tage, 18 Stunden
flatpages FlatPage 4 Tage, 18 Stunden
admin LogEntry 4 Tage, 18 Stunden
redirects Redirect 4 Tage, 18 Stunden
account EmailAddress 4 Tage, 18 Stunden
account EmailConfirmation 4 Tage, 18 Stunden
socialaccount SocialApp 4 Tage, 18 Stunden
socialaccount SocialAccount 4 Tage, 18 Stunden
socialaccount SocialToken 4 Tage, 18 Stunden
waffle Flag 4 Tage, 18 Stunden
waffle Switch 4 Tage, 18 Stunden
waffle Sample 4 Tage, 18 Stunden
tos TermsOfService 4 Tage, 18 Stunden
tos UserAgreement 4 Tage, 18 Stunden
impersonate ImpersonationLog 4 Tage, 18 Stunden
django_q OrmQ 4 Tage, 18 Stunden
notifications Notification 4 Tage, 18 Stunden

Signale

Signal Empfänger
class_prepared StatusField.prepare_class, add_status_query_managers, add_timeframed_query_manager, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class, StatusField.prepare_class
connection_created
got_request_exception _got_request_exception
m2m_changed flag_membership_changed, flag_membership_changed
post_delete HistoricalRecords.post_delete, HistoricalRecords.post_delete, HistoricalRecords.post_delete, HistoricalRecords.post_delete, HistoricalRecords.post_delete, HistoricalRecords.post_delete, delete_search_index, delete_search_index
post_init ModelSignalRouter.post_init_receiver, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, ImageField.update_dimension_fields, MonitorField._save_initial, ImageField.update_dimension_fields, MonitorField._save_initial, MonitorField._save_initial, ImageField.update_dimension_fields, ImageField.update_dimension_fields, ImageField.update_dimension_fields, ImageField.update_dimension_fields, MonitorField._save_initial, MonitorField._save_initial, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, MonitorField._save_initial, MonitorField._save_initial, MonitorField._save_initial, delete_mt_init, delete_mt_init, delete_mt_init
post_migrate create_permissions, create_contenttypes, create_default_site, _invalidate_on_migration
post_save ModelSignalRouter.post_save_receiver, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, HistoricalRecords.post_save, call_hook, create_user_settings, save_user_settings, update_search_index, update_search_index
pre_delete clear_site_cache
pre_init
pre_migrate inject_rename_contenttypes_operations
pre_save clear_site_cache
request_finished close_old_connections, close_caches, reset_urlconf
request_started reset_queries, close_old_connections
setting_changed reset_cache, reload_settings, clear_cache_handlers, update_installed_apps, update_connections_time_zone, clear_routers_cache, reset_template_engines, storages_changed, clear_serializers_cache, language_changed, localize_settings_changed, file_storage_changed, complex_setting_changed, root_urlconf_changed, static_storage_changed, static_finders_changed, auth_password_validators_changed, user_model_swapped, update_toolbar_config, reset_hashers, update_level_tags, clear_caches, FileSystemStorage._clear_cached_properties, StaticFilesStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties