#35426: `GenericPrefetch` should have `queryset` parameter as required
-------------------------------------+-------------------------------------
Reporter: Sobolev Nikita | Owner: Sobolev
| Nikita
Type: Uncategorized | Status: assigned
Component: | Version: 5.0
contrib.contenttypes |
Severity: Normal | Resolution:
Keywords: | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
-------------------------------------+-------------------------------------
Description changed by Sobolev Nikita:
Old description:
> 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
New description:
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
--
--
Ticket URL: <https://code.djangoproject.com/ticket/35426#comment:1>
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/0107018f3d975a5f-07d9e5e9-bf78-4e32-babb-847f97742ca5-000000%40eu-central-1.amazonses.com.