#36388: QuerySet.union no longer supports empty args --------------------------------+----------------------------------------- Reporter: Antoine Humeau | Type: Bug Status: new | Component: Uncategorized Version: 5.2 | Severity: Normal Keywords: | Triage Stage: Unreviewed Has patch: 0 | Needs documentation: 0 Needs tests: 0 | Patch needs improvement: 0 Easy pickings: 0 | UI/UX: 0 --------------------------------+----------------------------------------- Hello there,
Up until Django 5.1 (included), it was possible to use the union queryset method with an empty arg list, example: {{{ User.objects.union() }}} This example is obviously useless but the following pattern would be equivalent and would be more reallistic: {{{ def unite_querysets(querysets): queryset, *other_querysets = querysets queryset = queryset.union(*other_querysets) }}} Since Django 5.2, that triggers the following exception: {{{ AttributeError: 'NoneType' object has no attribute 'elide_empty' }}} The line that triggers the exception is the following: https://github.com/django/django/blob/5.2.1/django/db/models/sql/compiler.py#L616 empty_compiler is never initialized. I am not sure this really qualifies as a bug, it might be a unsupported usage, still it is a regression. -- Ticket URL: <https://code.djangoproject.com/ticket/36388> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/django-updates/01070196c99f888e-a3e1603c-f8b6-44e1-8b37-1203358013aa-000000%40eu-central-1.amazonses.com.