Opened 6 months ago

Last modified 6 months ago

#35426 closed Bug

`GenericPrefetch` should have `queryset` parameter as required — at Version 1

Reported by: Sobolev Nikita Owned by: Sobolev Nikita
Component: contrib.contenttypes Version: 5.0
Severity: Release blocker Keywords:
Cc: Sobolev Nikita Triage Stage: Ready for checkin
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: yes UI/UX: no

Description (last modified by Sobolev Nikita)

Original issue: https://code.djangoproject.com/ticket/33651

Source: https://github.com/django/django/blob/91a4b9a8ec2237434f06866f39c7977e889aeae6/django/contrib/contenttypes/prefetch.py#L6-L7

Right now this code is really strange. It produces this result:

>>> import django
>>> from django.contrib.contenttypes.prefetch import GenericPrefetch
>>> GenericPrefetch('a')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/sobolev/Documents/github/wemake-django-template/.venv/lib/python3.11/site-packages/django/contrib/contenttypes/prefetch.py", line 7, in __init__
    for queryset in querysets:
TypeError: 'NoneType' object is not iterable

I guess that there are two ways:

  • Using if querysets is None: querysets = []
  • Requiring this argument, which I guess is the correct thing to do. Why would we ever want this field to be empty?

I will send a PR with the fix.

I found this while working on https://github.com/typeddjango/django-stubs/pull/2115

Change History (1)

comment:1 by Sobolev Nikita, 6 months ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.
Back to Top