BU-ISCIII / iskylims

is an open-source LIMS (laboratory Information Management System) for Next Generation Sequencing sample management, statistics and reports, and bioinformatics analysis service management.
https://github.com/BU-ISCIII/iSkyLIMS/wiki
GNU General Public License v3.0
71 stars 34 forks source link

AttributeError when no username is found in wetlab project #250

Closed Shettland closed 4 months ago

Shettland commented 9 months ago

Description of the bug

When searching for a project in wetlab, I encountered an error that might be related with projects with more than one run per user. In this case the error is encountered when clicking in the bottom project. It seems to be related to a secondary run with the same user in a project although neither of them have an associated run.

image

Expected output: image

Error summary: AttributeError at /wetlab/displayProject=2999/ 'NoneType' object has no attribute 'username'

/opt/iSkyLIMS/iSkyLIMS_wetlab/views.py, line 991, in display_project display_project_data = get_information_project(project_found_id, request) … ▶ Local vars /opt/iSkyLIMS/iSkyLIMS_wetlab/utils/fetching_information.py, line 746, in get_information_project project_info_dict ['user_id'] = project_id.get_user_name() … ▶ Local vars /opt/iSkyLIMS/iSkyLIMS_wetlab/models.py, line 359, in get_user_name user_name = self.user_id.username

Command used and terminal output

Whole error output:
AttributeError at /wetlab/displayProject=2999/
'NoneType' object has no attribute 'username'
Request Method: GET
Request URL:    http://iskylims.isciii.es/wetlab/displayProject%3D2999/
Django Version: 3.2
Exception Type: AttributeError
Exception Value:    
'NoneType' object has no attribute 'username'
Exception Location: /opt/iSkyLIMS/iSkyLIMS_wetlab/models.py, line 359, in get_user_name
Python Executable:  /opt/iSkyLIMS/virtualenv/bin/python
Python Version: 3.9.6
Python Path:    
['/opt/iSkyLIMS',
 '/opt/python/3.9.6/lib/python39.zip',
 '/opt/python/3.9.6/lib/python3.9',
 '/opt/python/3.9.6/lib/python3.9/lib-dynload',
 '/opt/iSkyLIMS/virtualenv/lib/python3.9/site-packages']
Server time:    Tue, 14 Nov 2023 15:33:32 +0100
Traceback Switch to copy-and-paste view
/opt/iSkyLIMS/virtualenv/lib/python3.9/site-packages/django/core/handlers/exception.py, line 47, in inner
                response = get_response(request) …
▶ Local vars
/opt/iSkyLIMS/virtualenv/lib/python3.9/site-packages/django/core/handlers/base.py, line 181, in _get_response
                response = wrapped_callback(request, *callback_args, **callback_kwargs) …
▶ Local vars
/opt/iSkyLIMS/virtualenv/lib/python3.9/site-packages/django/contrib/auth/decorators.py, line 21, in _wrapped_view
                return view_func(request, *args, **kwargs) …
▶ Local vars
/opt/iSkyLIMS/iSkyLIMS_wetlab/views.py, line 991, in display_project
        display_project_data  = get_information_project(project_found_id, request) …
▶ Local vars
/opt/iSkyLIMS/iSkyLIMS_wetlab/utils/fetching_information.py, line 746, in get_information_project
    project_info_dict ['user_id'] = project_id.get_user_name() …
▶ Local vars
/opt/iSkyLIMS/iSkyLIMS_wetlab/models.py, line 359, in get_user_name
        user_name = self.user_id.username …
▶ Local vars
Request information
USER
pmata

GET
No GET data

POST
No POST data

FILES
No FILES data

COOKIES
Variable    Value
_ga 
'GA1.1.2084132255.1679908237'
_ga_G44TPFH79J  
'GS1.1.1688030232.12.1.1688031221.0.0.0'
csrftoken   
'lTA71j82VdLGz5a9sj2V246Lo76LiXgwCFHKiaZUpdQ03YTUq3aRG8CZ6j6rovP6'
sessionid   
'krvm2gz0l9x6t3mrmwgmj2m5ojspga4g'
META
Variable    Value
CONTEXT_DOCUMENT_ROOT   
'/opt/iSkyLIMS'
CONTEXT_PREFIX  
''
CSRF_COOKIE 
'lTA71j82VdLGz5a9sj2V246Lo76LiXgwCFHKiaZUpdQ03YTUq3aRG8CZ6j6rovP6'
DOCUMENT_ROOT   
'/opt/iSkyLIMS'
GATEWAY_INTERFACE   
'CGI/1.1'
HTTP_ACCEPT 
'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7'
HTTP_ACCEPT_ENCODING    
'gzip, deflate, br'
HTTP_ACCEPT_LANGUAGE    
'es-ES,es;q=0.9'
HTTP_CONNECTION 
'keep-alive'
HTTP_COOKIE 
('_ga=GA1.1.2084132255.1679908237; '
 '_ga_G44TPFH79J=GS1.1.1688030232.12.1.1688031221.0.0.0; '
 'csrftoken=lTA71j82VdLGz5a9sj2V246Lo76LiXgwCFHKiaZUpdQ03YTUq3aRG8CZ6j6rovP6; '
 'sessionid=krvm2gz0l9x6t3mrmwgmj2m5ojspga4g')
HTTP_HOST   
'iskylims.isciii.es'
HTTP_REFERER    
'https://iskylims.isciii.es/wetlab/searchProject/'
HTTP_SEC_CH_UA  
'"Google Chrome";v="119", "Chromium";v="119", "Not?A_Brand";v="24"'
HTTP_SEC_CH_UA_MOBILE   
'?0'
HTTP_SEC_CH_UA_PLATFORM 
'"Windows"'
HTTP_SEC_FETCH_DEST 
'document'
HTTP_SEC_FETCH_MODE 
'navigate'
HTTP_SEC_FETCH_SITE 
'same-origin'
HTTP_SEC_FETCH_USER 
'?1'
HTTP_UPGRADE_INSECURE_REQUESTS  
'1'
HTTP_USER_AGENT 
('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like '
 'Gecko) Chrome/119.0.0.0 Safari/537.36')
HTTP_X_FORWARDED_FOR    
'172.17.16.17'
HTTP_X_FORWARDED_PROTO  
'https'
PATH_INFO   
'/wetlab/displayProject=2999/'
PATH_TRANSLATED 
'/opt/iSkyLIMS/iSkyLIMS/wsgi.py/wetlab/displayProject=2999/'
QUERY_STRING    
''
REMOTE_ADDR 
'10.22.146.254'
REMOTE_PORT 
'15598'
REQUEST_METHOD  
'GET'
REQUEST_SCHEME  
'http'
REQUEST_URI 
'/wetlab/displayProject%3D2999/'
SCRIPT_FILENAME 
'/opt/iSkyLIMS/iSkyLIMS/wsgi.py'
SCRIPT_NAME 
''
SERVER_ADDR 
'10.22.146.69'
SERVER_ADMIN    
'sistemas@isciii.es'
SERVER_NAME 
'iskylims.isciii.es'
SERVER_PORT 
'80'
SERVER_PROTOCOL 
'HTTP/1.1'
SERVER_SIGNATURE    
'********************'
SERVER_SOFTWARE 
'Apache/2.4.6 (Red Hat Enterprise Linux) PHP/5.6.40 mod_wsgi/4.9.0 Python/3.9'
UNIQUE_ID   
'ZVOFPLwhr28KTGip0Y@65gAAAAc'
apache.version  
(2, 4, 6)
mod_wsgi.application_group  
'iskylims.isciii.es|'
mod_wsgi.callable_object    
'application'
mod_wsgi.daemon_connects    
'1'
mod_wsgi.daemon_restarts    
'0'
mod_wsgi.daemon_start   
'1699972412190105'
mod_wsgi.enable_sendfile    
'0'
mod_wsgi.handler_script 
''
mod_wsgi.ignore_activity    
'0'
mod_wsgi.listener_host  
''
mod_wsgi.listener_port  
'80'
mod_wsgi.path_info  
'/wetlab/displayProject=2999/'
mod_wsgi.process_group  
'iskylims.isciii.es'
mod_wsgi.queue_start    
'1699972412189924'
mod_wsgi.request_handler    
'wsgi-script'
mod_wsgi.request_id 
'ZVOFPLwhr28KTGip0Y@65gAAAAc'
mod_wsgi.request_start  
'1699972412189524'
mod_wsgi.script_name    
''
mod_wsgi.script_reloading   
'1'
mod_wsgi.script_start   
'1699972412190519'
mod_wsgi.thread_id  
4
mod_wsgi.thread_requests    
41
mod_wsgi.total_requests 
4854
mod_wsgi.version    
(4, 9, 0)
wsgi.errors 
<_io.TextIOWrapper name='<wsgi.errors>' encoding='utf-8'>
wsgi.file_wrapper   
<class 'mod_wsgi.FileWrapper'>
wsgi.input  
<mod_wsgi.Input object at 0x7fb295ff6650>
wsgi.input_terminated   
True
wsgi.multiprocess   
False
wsgi.multithread    
True
wsgi.run_once   
False
wsgi.url_scheme 
'http'
wsgi.version    
(1, 0)
Settings
Using settings module iSkyLIMS.settings
Setting Value
ABSOLUTE_URL_OVERRIDES  
{}
ADMINS  
[]
ALLOWED_EMAIL_DOMAINS   
['isciii.es', 'externos.isciii.es']
ALLOWED_HOSTS   
['10.22.146.69', 'localhost', 'iSkyLIMS.isciii.es', 'iSkyLIMSAPI.isciii.es']
APPEND_SLASH    
True
APPS_NAMES  
[['iSkyLIMS_wetlab', 'Masive Sequencing'],
 ['iSkyLIMS_drylab', 'Requesting Services']]
AUTHENTICATION_BACKENDS 
['django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS    
'********************'
AUTH_USER_MODEL 
'auth.User'
BASE_DIR    
'/opt/iSkyLIMS'
CACHES  
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS  
'default'
CACHE_MIDDLEWARE_KEY_PREFIX 
'********************'
CACHE_MIDDLEWARE_SECONDS    
600
CRISPY_TEMPLATE_PACK    
'bootstrap3'
CRONJOBS    
[('*/30 * * * *',
  'iSkyLIMS_wetlab.cron.looking_for_new_runs',
  '>>/opt/iSkyLIMS/logs/crontab.log'),
 ('0 0 * * FRI',
  'iSkyLIMS_wetlab.cron.delete_invalid_run',
  '>>/opt/iSkyLIMS/logs/crontab_cleanup.log')]
CRONTAB_COMMAND_SUFFIX  
'2>&1'
CSRF_COOKIE_AGE 
31449600
CSRF_COOKIE_DOMAIN  
None
CSRF_COOKIE_HTTPONLY    
False
CSRF_COOKIE_NAME    
'csrftoken'
CSRF_COOKIE_PATH    
'/'
CSRF_COOKIE_SAMESITE    
'Lax'
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_MAX_AGE': 0,
             'ENGINE': 'django.db.backends.mysql',
             'HOST': 'llorens.isciii.es',
             'NAME': 'iskylims',
             'OPTIONS': {},
             'PASSWORD': '********************',
             'PORT': '3306',
             'TEST': {'CHARSET': None,
                      'COLLATION': None,
                      'MIGRATE': True,
                      'MIRROR': None,
                      'NAME': None},
             'TIME_ZONE': None,
             'USER': 'iskylims',
             'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"}}
DATABASE_ROUTERS    
[]
DATA_UPLOAD_MAX_MEMORY_SIZE 
10485760
DATA_UPLOAD_MAX_NUMBER_FIELDS   
1000
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
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  
'webmaster@localhost'
DEFAULT_HASHING_ALGORITHM   
'sha256'
DEFAULT_INDEX_TABLESPACE    
''
DEFAULT_TABLESPACE  
''
DISALLOWED_USER_AGENTS  
[]
EMAIL_BACKEND   
'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST  
'localhost'
EMAIL_HOST_PASSWORD 
'********************'
EMAIL_HOST_USER 
'bioinfo'
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.DjangoTemplates'
IGNORABLE_404_URLS  
[]
INSTALLED_APPS  
['iSkyLIMS_core',
 'iSkyLIMS_wetlab',
 'iSkyLIMS_drylab',
 'django_utils',
 'mptt',
 'crispy_forms',
 'django_crontab',
 'django_mptt_admin',
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django_extensions',
 'rest_framework',
 'drf_yasg',
 'django_cleanup']
INTERNAL_IPS    
[]
LANGUAGES   
[('af', 'Afrikaans'),
 ('ar', 'Arabic'),
 ('ar-dz', 'Algerian Arabic'),
 ('ast', 'Asturian'),
 ('az', 'Azerbaijani'),
 ('bg', 'Bulgarian'),
 ('be', 'Belarusian'),
 ('bn', 'Bengali'),
 ('br', 'Breton'),
 ('bs', 'Bosnian'),
 ('ca', 'Catalan'),
 ('cs', 'Czech'),
 ('cy', 'Welsh'),
 ('da', 'Danish'),
 ('de', 'German'),
 ('dsb', 'Lower Sorbian'),
 ('el', 'Greek'),
 ('en', 'English'),
 ('en-au', 'Australian English'),
 ('en-gb', 'British English'),
 ('eo', 'Esperanto'),
 ('es', 'Spanish'),
 ('es-ar', 'Argentinian Spanish'),
 ('es-co', 'Colombian Spanish'),
 ('es-mx', 'Mexican Spanish'),
 ('es-ni', 'Nicaraguan Spanish'),
 ('es-ve', 'Venezuelan Spanish'),
 ('et', 'Estonian'),
 ('eu', 'Basque'),
 ('fa', 'Persian'),
 ('fi', 'Finnish'),
 ('fr', 'French'),
 ('fy', 'Frisian'),
 ('ga', 'Irish'),
 ('gd', 'Scottish Gaelic'),
 ('gl', 'Galician'),
 ('he', 'Hebrew'),
 ('hi', 'Hindi'),
 ('hr', 'Croatian'),
 ('hsb', 'Upper Sorbian'),
 ('hu', 'Hungarian'),
 ('hy', 'Armenian'),
 ('ia', 'Interlingua'),
 ('id', 'Indonesian'),
 ('ig', 'Igbo'),
 ('io', 'Ido'),
 ('is', 'Icelandic'),
 ('it', 'Italian'),
 ('ja', 'Japanese'),
 ('ka', 'Georgian'),
 ('kab', 'Kabyle'),
 ('kk', 'Kazakh'),
 ('km', 'Khmer'),
 ('kn', 'Kannada'),
 ('ko', 'Korean'),
 ('ky', 'Kyrgyz'),
 ('lb', 'Luxembourgish'),
 ('lt', 'Lithuanian'),
 ('lv', 'Latvian'),
 ('mk', 'Macedonian'),
 ('ml', 'Malayalam'),
 ('mn', 'Mongolian'),
 ('mr', 'Marathi'),
 ('my', 'Burmese'),
 ('nb', 'Norwegian Bokmål'),
 ('ne', 'Nepali'),
 ('nl', 'Dutch'),
 ('nn', 'Norwegian Nynorsk'),
 ('os', 'Ossetic'),
 ('pa', 'Punjabi'),
 ('pl', 'Polish'),
 ('pt', 'Portuguese'),
 ('pt-br', 'Brazilian Portuguese'),
 ('ro', 'Romanian'),
 ('ru', 'Russian'),
 ('sk', 'Slovak'),
 ('sl', 'Slovenian'),
 ('sq', 'Albanian'),
 ('sr', 'Serbian'),
 ('sr-latn', 'Serbian Latin'),
 ('sv', 'Swedish'),
 ('sw', 'Swahili'),
 ('ta', 'Tamil'),
 ('te', 'Telugu'),
 ('tg', 'Tajik'),
 ('th', 'Thai'),
 ('tk', 'Turkmen'),
 ('tr', 'Turkish'),
 ('tt', 'Tatar'),
 ('udm', 'Udmurt'),
 ('uk', 'Ukrainian'),
 ('ur', 'Urdu'),
 ('uz', 'Uzbek'),
 ('vi', 'Vietnamese'),
 ('zh-hans', 'Simplified Chinese'),
 ('zh-hant', 'Traditional Chinese')]
LANGUAGES_BIDI  
['he', 'ar', 'ar-dz', 'fa', 'ur']
LANGUAGE_CODE   
'en-us'
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    
[]
LOGGING 
{}
LOGGING_CONFIG  
'logging.config.dictConfig'
LOGIN_REDIRECT_URL  
'/'
LOGIN_URL   
'/accounts/login/'
LOGOUT_REDIRECT_URL 
None
LOG_CLEAN_FILE  
'/opt/iSkyLIMS/logs/crontab_cleanup.log'
LOG_CRONTAB_FILE    
'/opt/iSkyLIMS/logs/crontab.log'
MANAGERS    
[]
MEDIA_ROOT  
'/opt/iSkyLIMS/documents/'
MEDIA_URL   
'/documents/'
MESSAGE_STORAGE 
'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE  
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']
MIGRATION_MODULES   
{}
MONTH_DAY_FORMAT    
'F j'
NUMBER_GROUPING 
0
PASSWORD_HASHERS    
'********************'
PASSWORD_RESET_TIMEOUT  
'********************'
PASSWORD_RESET_TIMEOUT_DAYS 
'********************'
PREPEND_WWW 
False
ROOT_URLCONF    
'iSkyLIMS.urls'
SECRET_KEY  
'********************'
SECURE_BROWSER_XSS_FILTER   
False
SECURE_CONTENT_TYPE_NOSNIFF 
True
SECURE_HSTS_INCLUDE_SUBDOMAINS  
False
SECURE_HSTS_PRELOAD 
False
SECURE_HSTS_SECONDS 
0
SECURE_PROXY_SSL_HEADER 
None
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 
'Lax'
SESSION_COOKIE_SECURE   
False
SESSION_ENGINE  
'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE 
False
SESSION_FILE_PATH   
None
SESSION_SAVE_EVERY_REQUEST  
False
SESSION_SERIALIZER  
'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE 
'iSkyLIMS.settings'
SHORT_DATETIME_FORMAT   
'm/d/Y P'
SHORT_DATE_FORMAT   
'm/d/Y'
SIGNING_BACKEND 
'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS  
[]
SITE_ID 
1
STATICFILES_DIRS    
[]
STATICFILES_FINDERS 
['django.contrib.staticfiles.finders.FileSystemFinder',
 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE 
'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT 
'/opt/iSkyLIMS/static/'
STATIC_URL  
'/static/'
SWAGGER_SETTINGS    
{'SECURITY_DEFINITIONS': {'basic': {'type': 'basic'}}}
TEMPLATES   
[{'APP_DIRS': True,
  'BACKEND': 'django.template.backends.django.DjangoTemplates',
  'DIRS': ['/opt/iSkyLIMS/documents/drylab/services_templates'],
  'OPTIONS': {'context_processors': ['django.template.context_processors.debug',
                                     'django.template.context_processors.request',
                                     'django.contrib.auth.context_processors.auth',
                                     'django.contrib.messages.context_processors.messages',
                                     'django.template.context_processors.i18n']}}]
TEST_NON_SERIALIZED_APPS    
[]
TEST_RUNNER 
'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR  
','
TIME_FORMAT 
'P'
TIME_INPUT_FORMATS  
['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE   
'Europe/Madrid'
USE_I18N    
True
USE_L10N    
True
USE_THOUSAND_SEPARATOR  
False
USE_TZ  
False
USE_X_FORWARDED_HOST    
False
USE_X_FORWARDED_PORT    
False
WSGI_APPLICATION    
'iSkyLIMS.wsgi.application'
X_FRAME_OPTIONS 
'DENY'
YEAR_MONTH_FORMAT   
'F Y'

Relevant files

No response

System information

No response

luissian commented 4 months ago

Already corrected in version 3.0.0