Skip to content

pretalx becomes unusable "pretalx.schedule.models.schedule.MultipleObjectsReturned: get() returned more than one Schedule -- it returned 2!" #515

@laf0rge

Description

@laf0rge

Expected Behavior

Normally I'd expect the pretalx orga interface for schedule adjustments when looking at e.g. https://pretalx.sysmocom.de/orga/event/osmocon2018/schedule/

Current Behavior

pretalx displays https://pretalx.sysmocom.de/static/common/img/error_5xx.5baae707387f.svg in the browser and adds the following to the log:

pretalx_1             | ERROR 2018-10-12 08:42:19,042 django.request exception Internal Server Error: /orga/event/osmocon2018/schedule/
pretalx_1             | Traceback (most recent call last):
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner
pretalx_1             |     response = get_response(request)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 128, in _get_response
pretalx_1             |     response = self.process_exception_by_middleware(e, request)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 126, in _get_response
pretalx_1             |     response = wrapped_callback(request, *callback_args, **callback_kwargs)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/views/generic/base.py", line 69, in view
pretalx_1             |     return self.dispatch(request, *args, **kwargs)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/utils/decorators.py", line 62, in _wrapper
pretalx_1             |     return bound_func(*args, **kwargs)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/csp/decorators.py", line 19, in _wrapped
pretalx_1             |     r = f(*a, **kw)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/utils/decorators.py", line 58, in bound_func
pretalx_1             |     return func.__get__(self, type(self))(*args2, **kwargs2)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/contrib/auth/mixins.py", line 85, in dispatch
pretalx_1             |     return super().dispatch(request, *args, **kwargs)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/views/generic/base.py", line 89, in dispatch
pretalx_1             |     return handler(request, *args, **kwargs)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/views/generic/base.py", line 150, in get
pretalx_1             |     context = self.get_context_data(**kwargs)
pretalx_1             |   File "/src/pretalx/orga/views/schedule.py", line 44, in get_context_data
pretalx_1             |     context['active_schedule'] = self.request.event.schedules.filter(version=version).first() if version else self.request.event.wip_schedule
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/utils/functional.py", line 36, in __get__
pretalx_1             |     res = instance.__dict__[self.name] = self.func(instance)
pretalx_1             |   File "/src/pretalx/event/models/event.py", line 317, in wip_schedule
pretalx_1             |     schedule, _ = self.schedules.get_or_create(version__isnull=True)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/db/models/fields/related_descriptors.py", line 629, in get_or_create
pretalx_1             |     return super(RelatedManager, self.db_manager(db)).get_or_create(**kwargs)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
pretalx_1             |     return getattr(self.get_queryset(), name)(*args, **kwargs)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py", line 487, in get_or_create
pretalx_1             |     return self.get(**lookup), False
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py", line 407, in get
pretalx_1             |     (self.model._meta.object_name, num)
pretalx_1             | pretalx.schedule.models.schedule.MultipleObjectsReturned: get() returned more than one Schedule -- it returned 2!
pretalx_1             | ERROR 2018-10-12 08:42:19,042 django.request exception Internal Server Error: /orga/event/osmocon2018/schedule/
pretalx_1             | Traceback (most recent call last):
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner
pretalx_1             |     response = get_response(request)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 128, in _get_response
pretalx_1             |     response = self.process_exception_by_middleware(e, request)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 126, in _get_response
pretalx_1             |     response = wrapped_callback(request, *callback_args, **callback_kwargs)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/views/generic/base.py", line 69, in view
pretalx_1             |     return self.dispatch(request, *args, **kwargs)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/utils/decorators.py", line 62, in _wrapper
pretalx_1             |     return bound_func(*args, **kwargs)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/csp/decorators.py", line 19, in _wrapped
pretalx_1             |     r = f(*a, **kw)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/utils/decorators.py", line 58, in bound_func
pretalx_1             |     return func.__get__(self, type(self))(*args2, **kwargs2)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/contrib/auth/mixins.py", line 85, in dispatch
pretalx_1             |     return super().dispatch(request, *args, **kwargs)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/views/generic/base.py", line 89, in dispatch
pretalx_1             |     return handler(request, *args, **kwargs)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/views/generic/base.py", line 150, in get
pretalx_1             |     context = self.get_context_data(**kwargs)
pretalx_1             |   File "/src/pretalx/orga/views/schedule.py", line 44, in get_context_data
pretalx_1             |     context['active_schedule'] = self.request.event.schedules.filter(version=version).first() if version else self.request.event.wip_schedule
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/utils/functional.py", line 36, in __get__
pretalx_1             |     res = instance.__dict__[self.name] = self.func(instance)
pretalx_1             |   File "/src/pretalx/event/models/event.py", line 317, in wip_schedule
pretalx_1             |     schedule, _ = self.schedules.get_or_create(version__isnull=True)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/db/models/fields/related_descriptors.py", line 629, in get_or_create
pretalx_1             |     return super(RelatedManager, self.db_manager(db)).get_or_create(**kwargs)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
pretalx_1             |     return getattr(self.get_queryset(), name)(*args, **kwargs)
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py", line 487, in get_or_create
pretalx_1             |     return self.get(**lookup), False
pretalx_1             |   File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py", line 407, in get
pretalx_1             |     (self.model._meta.object_name, num)
pretalx_1             | pretalx.schedule.models.schedule.MultipleObjectsReturned: get() returned more than one Schedule -- it returned 2!

I don't know how I ended up there. Haven't logged into the pretalx instance for several days, and now this.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions