-
-
Notifications
You must be signed in to change notification settings - Fork 454
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Avoid returning None from get_field_related_model_cls #1956
Avoid returning None from get_field_related_model_cls #1956
Conversation
794c44b
to
c4580f9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you think that adding a test case is a good idea here?
yeah I think it would be great to add a test case to |
c4580f9
to
bd39874
Compare
Updated to shift location of check. I'm open to suggestions re tests. The scenario I'm encountering this in is some proprietary code that I'm yet to reduce to something that nicely fits into a test here. |
bd39874
to
7e346e3
Compare
I've been traveling, and will make some time to get my branch updated over the next couple of days. |
7e346e3
to
1eef6e2
Compare
I've reverted the changes back to the first iteration of PR. I'm afraid I haven't had any luck in reducing the faulting code to a test case. FWIW, the scenario I'm seeing this hit in is using django taggit. I'm not certain what's going on under the hood that's resulting in the unhappiness however. |
typeddjango#1495 updated `get_field_related_model_cls` to raise `UnregisteredModelError` rather than returning `None` for failure paths. However, None can still be returned if the initial retrieval of `related_model_cls` returns None. This patch adds a check to see if the initial retrieval has got a `None` and then raises the appropriate error rather than letting `None` be returned.
1eef6e2
to
23b6aa3
Compare
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [django-stubs](https://togithub.com/typeddjango/django-stubs) ([changelog](https://togithub.com/typeddjango/django-stubs/releases)) | `>=1.14.0,<5` -> `>=1.14.0,<6` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/django-stubs/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/django-stubs/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/django-stubs/4.2.7/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/django-stubs/4.2.7/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typeddjango/django-stubs (django-stubs)</summary> ### [`v5.0.0`](https://togithub.com/typeddjango/django-stubs/releases/tag/5.0.0) [Compare Source](https://togithub.com/typeddjango/django-stubs/compare/4.2.7...5.0.0) #### Announcements - `QuerySet` class no longer derives from `Collection`. If you run into errors like `incompatible type "_QuerySet[User, User]"; expected "Collection[User]"`, [please read this announcement](https://togithub.com/typeddjango/django-stubs/discussions/2095). #### Headline changes - Remove incorrect `Collection` base class and `__contains__` method from `QuerySet` by [@​fidoriel](https://togithub.com/fidoriel) in [https://github.com/typeddjango/django-stubs/pull/1925](https://togithub.com/typeddjango/django-stubs/pull/1925) - Pyright joins the workflow in an advisory capacity by [@​jorenham](https://togithub.com/jorenham) in [https://github.com/typeddjango/django-stubs/pull/2019](https://togithub.com/typeddjango/django-stubs/pull/2019) - feat: Allow setting django_settings_module from env by [@​armanckeser](https://togithub.com/armanckeser) in [https://github.com/typeddjango/django-stubs/pull/2021](https://togithub.com/typeddjango/django-stubs/pull/2021) - Add `ManyRelatedManager.through` attribute and generic type parameter by [@​flaeppe](https://togithub.com/flaeppe) in [https://github.com/typeddjango/django-stubs/pull/2026](https://togithub.com/typeddjango/django-stubs/pull/2026) #### What's Changed - Make `StrPromise` not inherit from `Sequence[str]` by [@​intgr](https://togithub.com/intgr) in [https://github.com/typeddjango/django-stubs/pull/1841](https://togithub.com/typeddjango/django-stubs/pull/1841) - Update and prepare for Django 5.0 by [@​intgr](https://togithub.com/intgr) in [https://github.com/typeddjango/django-stubs/pull/1859](https://togithub.com/typeddjango/django-stubs/pull/1859) - Ensure mypy plugin processes inherited many to many fields by [@​flaeppe](https://togithub.com/flaeppe) in [https://github.com/typeddjango/django-stubs/pull/1864](https://togithub.com/typeddjango/django-stubs/pull/1864) - Include ModelBase subclasses in plugin base class hook condition by [@​flaeppe](https://togithub.com/flaeppe) in [https://github.com/typeddjango/django-stubs/pull/1863](https://togithub.com/typeddjango/django-stubs/pull/1863) - \[5.0] Added many new a-prefixed asynchronous methods by [@​bigfootjon](https://togithub.com/bigfootjon) in [https://github.com/typeddjango/django-stubs/pull/1741](https://togithub.com/typeddjango/django-stubs/pull/1741) - Remove section regarding custom queryset methods from README by [@​flaeppe](https://togithub.com/flaeppe) in [https://github.com/typeddjango/django-stubs/pull/1865](https://togithub.com/typeddjango/django-stubs/pull/1865) - Fix type of `AppConfig.models_module` by [@​Viicos](https://togithub.com/Viicos) in [https://github.com/typeddjango/django-stubs/pull/1866](https://togithub.com/typeddjango/django-stubs/pull/1866) - Allow `None` in settings `MIGRATION_MODULES` dict values by [@​asottile](https://togithub.com/asottile) in [https://github.com/typeddjango/django-stubs/pull/1871](https://togithub.com/typeddjango/django-stubs/pull/1871) - Add type hints for `JSONField.from_db_value` by [@​flaeppe](https://togithub.com/flaeppe) in [https://github.com/typeddjango/django-stubs/pull/1879](https://togithub.com/typeddjango/django-stubs/pull/1879) - Fix/pyright unknown by [@​dephiros](https://togithub.com/dephiros) in [https://github.com/typeddjango/django-stubs/pull/1873](https://togithub.com/typeddjango/django-stubs/pull/1873) - Fix type hints of `converters` in `urls.resolvers` by [@​Viicos](https://togithub.com/Viicos) in [https://github.com/typeddjango/django-stubs/pull/1892](https://togithub.com/typeddjango/django-stubs/pull/1892) - Update mypy to 1.8.0 by [@​sobolevn](https://togithub.com/sobolevn) in [https://github.com/typeddjango/django-stubs/pull/1885](https://togithub.com/typeddjango/django-stubs/pull/1885) - Add `@type_check_only` to all Protocols and known stubs-only classes by [@​intgr](https://togithub.com/intgr) in [https://github.com/typeddjango/django-stubs/pull/1894](https://togithub.com/typeddjango/django-stubs/pull/1894) - Fix types for UniqueConstraint instantiation by [@​flaeppe](https://togithub.com/flaeppe) in [https://github.com/typeddjango/django-stubs/pull/1880](https://togithub.com/typeddjango/django-stubs/pull/1880) - Add `ModuleType` as a possible type to `URLResolver.urlconf_name` by [@​Viicos](https://togithub.com/Viicos) in [https://github.com/typeddjango/django-stubs/pull/1891](https://togithub.com/typeddjango/django-stubs/pull/1891) - Fix type hint of `URLPattern.default_args` by [@​Viicos](https://togithub.com/Viicos) in [https://github.com/typeddjango/django-stubs/pull/1895](https://togithub.com/typeddjango/django-stubs/pull/1895) - Update ruff and silence `PYI046` by [@​sobolevn](https://togithub.com/sobolevn) in [https://github.com/typeddjango/django-stubs/pull/1907](https://togithub.com/typeddjango/django-stubs/pull/1907) - Use PEP 570 syntax by [@​Viicos](https://togithub.com/Viicos) in [https://github.com/typeddjango/django-stubs/pull/1908](https://togithub.com/typeddjango/django-stubs/pull/1908) - Fix readme settings example by [@​Viicos](https://togithub.com/Viicos) in [https://github.com/typeddjango/django-stubs/pull/1910](https://togithub.com/typeddjango/django-stubs/pull/1910) - Fix type hint of `EmailBackend.ssl_keyfile` and `EmailBackend.ssl_certfile` by [@​Viicos](https://togithub.com/Viicos) in [https://github.com/typeddjango/django-stubs/pull/1911](https://togithub.com/typeddjango/django-stubs/pull/1911) - Add type of `django.VERSION` by [@​Viicos](https://togithub.com/Viicos) in [https://github.com/typeddjango/django-stubs/pull/1916](https://togithub.com/typeddjango/django-stubs/pull/1916) - Added `CommandParser` to `commands.__init__` by [@​jamesbraza](https://togithub.com/jamesbraza) in [https://github.com/typeddjango/django-stubs/pull/1927](https://togithub.com/typeddjango/django-stubs/pull/1927) - \[5.0] add `assume_scheme` to forms.URLField by [@​asottile](https://togithub.com/asottile) in [https://github.com/typeddjango/django-stubs/pull/1929](https://togithub.com/typeddjango/django-stubs/pull/1929) - Fix return type of `BaseModelAdmin.formfield_for_dbfield` by [@​Viicos](https://togithub.com/Viicos) in [https://github.com/typeddjango/django-stubs/pull/1934](https://togithub.com/typeddjango/django-stubs/pull/1934) - Revert `pre-commit==3.6.1` by [@​sobolevn](https://togithub.com/sobolevn) in [https://github.com/typeddjango/django-stubs/pull/1936](https://togithub.com/typeddjango/django-stubs/pull/1936) - Fix type hint of `Response.set_cookie.max_age` by [@​Viicos](https://togithub.com/Viicos) in [https://github.com/typeddjango/django-stubs/pull/1941](https://togithub.com/typeddjango/django-stubs/pull/1941) - 5.0: Add ChoicesType by [@​q0w](https://togithub.com/q0w) in [https://github.com/typeddjango/django-stubs/pull/1942](https://togithub.com/typeddjango/django-stubs/pull/1942) - Add through_defaults for RelatedManager methods by [@​mfosterw](https://togithub.com/mfosterw) in [https://github.com/typeddjango/django-stubs/pull/1943](https://togithub.com/typeddjango/django-stubs/pull/1943) - Update type hints of `core.signing` by [@​Viicos](https://togithub.com/Viicos) in [https://github.com/typeddjango/django-stubs/pull/1945](https://togithub.com/typeddjango/django-stubs/pull/1945) - \[5.0] Update `core.validators` by [@​Viicos](https://togithub.com/Viicos) in [https://github.com/typeddjango/django-stubs/pull/1947](https://togithub.com/typeddjango/django-stubs/pull/1947) - \[5.0] Update `core.paginator` by [@​Viicos](https://togithub.com/Viicos) in [https://github.com/typeddjango/django-stubs/pull/1946](https://togithub.com/typeddjango/django-stubs/pull/1946) - Generic `forms.ModelChoiceField` by [@​UnknownPlatypus](https://togithub.com/UnknownPlatypus) in [https://github.com/typeddjango/django-stubs/pull/1889](https://togithub.com/typeddjango/django-stubs/pull/1889) - Support processing of other relations and fields when one is broken by [@​flaeppe](https://togithub.com/flaeppe) in [https://github.com/typeddjango/django-stubs/pull/1877](https://togithub.com/typeddjango/django-stubs/pull/1877) - Allowing `set` in `model_to_dict`'s `exclude` by [@​jamesbraza](https://togithub.com/jamesbraza) in [https://github.com/typeddjango/django-stubs/pull/1952](https://togithub.com/typeddjango/django-stubs/pull/1952) - \[5.0] Add django.db.models.GeneratedField by [@​palfrey](https://togithub.com/palfrey) in [https://github.com/typeddjango/django-stubs/pull/1944](https://togithub.com/typeddjango/django-stubs/pull/1944) - Fix type hint of `BaseEngine.template_dirs` by [@​Viicos](https://togithub.com/Viicos) in [https://github.com/typeddjango/django-stubs/pull/1954](https://togithub.com/typeddjango/django-stubs/pull/1954) - Update type hints of contrib.auth.hashers by [@​yhay81](https://togithub.com/yhay81) in [https://github.com/typeddjango/django-stubs/pull/1955](https://togithub.com/typeddjango/django-stubs/pull/1955) - deps: Upgrade pre-commit for newer versions of python by [@​delfick](https://togithub.com/delfick) in [https://github.com/typeddjango/django-stubs/pull/1961](https://togithub.com/typeddjango/django-stubs/pull/1961) - 5.0: Add auth.middleware.auser by [@​q0w](https://togithub.com/q0w) in [https://github.com/typeddjango/django-stubs/pull/1966](https://togithub.com/typeddjango/django-stubs/pull/1966) - 5.0: Add ModelAdmin.show_facets by [@​q0w](https://togithub.com/q0w) in [https://github.com/typeddjango/django-stubs/pull/1967](https://togithub.com/typeddjango/django-stubs/pull/1967) - ruff: Fix config warnings by [@​q0w](https://togithub.com/q0w) in [https://github.com/typeddjango/django-stubs/pull/1964](https://togithub.com/typeddjango/django-stubs/pull/1964) - 5.0: Add BaseConstraint.violation_error_code by [@​q0w](https://togithub.com/q0w) in [https://github.com/typeddjango/django-stubs/pull/1969](https://togithub.com/typeddjango/django-stubs/pull/1969) - 5.0: Add Signal.asend and Signal.asend_robust by [@​q0w](https://togithub.com/q0w) in [https://github.com/typeddjango/django-stubs/pull/1965](https://togithub.com/typeddjango/django-stubs/pull/1965) - 5.0: Add QuerySet.(a)update_or_create new create_defaults arg by [@​q0w](https://togithub.com/q0w) in [https://github.com/typeddjango/django-stubs/pull/1970](https://togithub.com/typeddjango/django-stubs/pull/1970) - 5.0: Add AdminSite.get_log_entries by [@​q0w](https://togithub.com/q0w) in [https://github.com/typeddjango/django-stubs/pull/1963](https://togithub.com/typeddjango/django-stubs/pull/1963) - 5.0: Add gis ClosestPoint by [@​q0w](https://togithub.com/q0w) in [https://github.com/typeddjango/django-stubs/pull/1968](https://togithub.com/typeddjango/django-stubs/pull/1968) - 5.0: Rename save_existing arg instance to obj by [@​q0w](https://togithub.com/q0w) in [https://github.com/typeddjango/django-stubs/pull/1971](https://togithub.com/typeddjango/django-stubs/pull/1971) - 5.0: Remove admin.helpers.checkbox by [@​q0w](https://togithub.com/q0w) in [https://github.com/typeddjango/django-stubs/pull/1972](https://togithub.com/typeddjango/django-stubs/pull/1972) - 5.0: Change annotation_select_mask from set\[str] to list\[str] by [@​q0w](https://togithub.com/q0w) in [https://github.com/typeddjango/django-stubs/pull/1973](https://togithub.com/typeddjango/django-stubs/pull/1973) - fixup: Pass violation_error_code to init by [@​q0w](https://togithub.com/q0w) in [https://github.com/typeddjango/django-stubs/pull/1975](https://togithub.com/typeddjango/django-stubs/pull/1975) - Avoid returning None from get_field_related_model_cls by [@​SingingTree](https://togithub.com/SingingTree) in [https://github.com/typeddjango/django-stubs/pull/1956](https://togithub.com/typeddjango/django-stubs/pull/1956) - 5.0: Pass positional args name and violation_error_message to BaseConstraint by [@​q0w](https://togithub.com/q0w) in [https://github.com/typeddjango/django-stubs/pull/1974](https://togithub.com/typeddjango/django-stubs/pull/1974) - 5.0: Remove pytz support by [@​q0w](https://togithub.com/q0w) in [https://github.com/typeddjango/django-stubs/pull/1980](https://togithub.com/typeddjango/django-stubs/pull/1980) - 5.0: Remove global setting USE_L10N by [@​q0w](https://togithub.com/q0w) in [https://github.com/typeddjango/django-stubs/pull/1979](https://togithub.com/typeddjango/django-stubs/pull/1979) - 5.0: Remove OSMGeoAdmin, GeoModelAdmin by [@​q0w](https://togithub.com/q0w) in [https://github.com/typeddjango/django-stubs/pull/1981](https://togithub.com/typeddjango/django-stubs/pull/1981) - 5.0: Remove extra_tests arg for DiscoverRunner.build_suite/run_tests by [@​q0w](https://togithub.com/q0w) in [https://github.com/typeddjango/django-stubs/pull/1978](https://togithub.com/typeddjango/django-stubs/pull/1978) - 5.0: Remove django.utils baseconv and datetime_safe modules by [@​q0w](https://togithub.com/q0w) in [https://github.com/typeddjango/django-stubs/pull/1977](https://togithub.com/typeddjango/django-stubs/pull/1977) - 5.0: Add request arg to ModelAdmin.lookup_allowed by [@​q0w](https://togithub.com/q0w) in [https://github.com/typeddjango/django-stubs/pull/1976](https://togithub.com/typeddjango/django-stubs/pull/1976) - Add URL converter protocol type by [@​adamchainz](https://togithub.com/adamchainz) in [https://github.com/typeddjango/django-stubs/pull/1984](https://togithub.com/typeddjango/django-stubs/pull/1984) - Fix type annotation for RegisterLookupMixin.class_lookups by [@​avoronov-box](https://togithub.com/avoronov-box) in [https://github.com/typeddjango/django-stubs/pull/1962](https://togithub.com/typeddjango/django-stubs/pull/1962) - Update django to 5.0.3 by [@​sobolevn](https://togithub.com/sobolevn) in [https://github.com/typeddjango/django-stubs/pull/1990](https://togithub.com/typeddjango/django-stubs/pull/1990) - Remove some deprecated Django 3.x APIs by [@​sobolevn](https://togithub.com/sobolevn) in [https://github.com/typeddjango/django-stubs/pull/1991](https://togithub.com/typeddjango/django-stubs/pull/1991) - Fix BaseModelAdmin.view_on_site annotation by [@​cuu508](https://togithub.com/cuu508) in [https://github.com/typeddjango/django-stubs/pull/1993](https://togithub.com/typeddjango/django-stubs/pull/1993) - Allow immutable `extra_context` on `TemplateView`s by [@​samueljsb](https://togithub.com/samueljsb) in [https://github.com/typeddjango/django-stubs/pull/1994](https://togithub.com/typeddjango/django-stubs/pull/1994) - Add BoundField.**html**() by [@​pelme](https://togithub.com/pelme) in [https://github.com/typeddjango/django-stubs/pull/1999](https://togithub.com/typeddjango/django-stubs/pull/1999) - Allow timedelta type for session.set_expiry() argument by [@​mlazar-endear](https://togithub.com/mlazar-endear) in [https://github.com/typeddjango/django-stubs/pull/2001](https://togithub.com/typeddjango/django-stubs/pull/2001) - Bump `pytest-mypy-plugins` to 3.1.1 by [@​sobolevn](https://togithub.com/sobolevn) in [https://github.com/typeddjango/django-stubs/pull/2003](https://togithub.com/typeddjango/django-stubs/pull/2003) - Update mypy, add a bit more metadata by [@​sobolevn](https://togithub.com/sobolevn) in [https://github.com/typeddjango/django-stubs/pull/1997](https://togithub.com/typeddjango/django-stubs/pull/1997) - 5.0: Update `django.contrib.auth` by [@​ngnpope](https://togithub.com/ngnpope) in [https://github.com/typeddjango/django-stubs/pull/2009](https://togithub.com/typeddjango/django-stubs/pull/2009) - 5.0: Update `django.conf` by [@​ngnpope](https://togithub.com/ngnpope) in [https://github.com/typeddjango/django-stubs/pull/2008](https://togithub.com/typeddjango/django-stubs/pull/2008) - 5.0: Update `django.views` by [@​ngnpope](https://togithub.com/ngnpope) in [https://github.com/typeddjango/django-stubs/pull/2007](https://togithub.com/typeddjango/django-stubs/pull/2007) - 5.0: Update `django.test` by [@​ngnpope](https://togithub.com/ngnpope) in [https://github.com/typeddjango/django-stubs/pull/2005](https://togithub.com/typeddjango/django-stubs/pull/2005) - 5.0: Update `django.utils` by [@​ngnpope](https://togithub.com/ngnpope) in [https://github.com/typeddjango/django-stubs/pull/2006](https://togithub.com/typeddjango/django-stubs/pull/2006) - Specify d.c.serializers.base.DeserializedObject.object type by [@​j00bar](https://togithub.com/j00bar) in [https://github.com/typeddjango/django-stubs/pull/2010](https://togithub.com/typeddjango/django-stubs/pull/2010) - Clean the cache on each run of `stubtest` by [@​sobolevn](https://togithub.com/sobolevn) in [https://github.com/typeddjango/django-stubs/pull/2015](https://togithub.com/typeddjango/django-stubs/pull/2015) - Keep abstract Django models internally in the plugin by [@​flaeppe](https://togithub.com/flaeppe) in [https://github.com/typeddjango/django-stubs/pull/2017](https://togithub.com/typeddjango/django-stubs/pull/2017) - Add GitHub actions release workflow by [@​flaeppe](https://togithub.com/flaeppe) in [https://github.com/typeddjango/django-stubs/pull/1950](https://togithub.com/typeddjango/django-stubs/pull/1950) - Adding missing `Q` methods: `check()`, `flatten()` by [@​Alexerson](https://togithub.com/Alexerson) in [https://github.com/typeddjango/django-stubs/pull/1899](https://togithub.com/typeddjango/django-stubs/pull/1899) - Improve types in `utils.termcolors` by [@​Viicos](https://togithub.com/Viicos) in [https://github.com/typeddjango/django-stubs/pull/1901](https://togithub.com/typeddjango/django-stubs/pull/1901) - Set the calculated metaclass when creating type info in the plugin by [@​flaeppe](https://togithub.com/flaeppe) in [https://github.com/typeddjango/django-stubs/pull/2025](https://togithub.com/typeddjango/django-stubs/pull/2025) - Do not annotate PRs with pyright by [@​sobolevn](https://togithub.com/sobolevn) in [https://github.com/typeddjango/django-stubs/pull/2023](https://togithub.com/typeddjango/django-stubs/pull/2023) - Use `PRI_MYPY` in `get_additional_deps` hook by [@​sobolevn](https://togithub.com/sobolevn) in [https://github.com/typeddjango/django-stubs/pull/2024](https://togithub.com/typeddjango/django-stubs/pull/2024) - Update `_default_manager` and `_base_manager` to be `Manager` by [@​flaeppe](https://togithub.com/flaeppe) in [https://github.com/typeddjango/django-stubs/pull/2022](https://togithub.com/typeddjango/django-stubs/pull/2022) - Determine the type of queryset methods on unions by [@​delfick](https://togithub.com/delfick) in [https://github.com/typeddjango/django-stubs/pull/2027](https://togithub.com/typeddjango/django-stubs/pull/2027) - Add first stub for get_model_admin by [@​nebiyuelias1](https://togithub.com/nebiyuelias1) in [https://github.com/typeddjango/django-stubs/pull/2029](https://togithub.com/typeddjango/django-stubs/pull/2029) - 5.0: Update `django.contrib.admin` by [@​ngnpope](https://togithub.com/ngnpope) in [https://github.com/typeddjango/django-stubs/pull/2004](https://togithub.com/typeddjango/django-stubs/pull/2004) - \[5.0] Update `core.files` by [@​Viicos](https://togithub.com/Viicos) in [https://github.com/typeddjango/django-stubs/pull/1949](https://togithub.com/typeddjango/django-stubs/pull/1949) - \[5.0] Update `core.cache.backends`, add `RedisCache` and related classes by [@​Viicos](https://togithub.com/Viicos) in [https://github.com/typeddjango/django-stubs/pull/1948](https://togithub.com/typeddjango/django-stubs/pull/1948) - Fix `AsyncClient.defaults` attribute typing by [@​flaeppe](https://togithub.com/flaeppe) in [https://github.com/typeddjango/django-stubs/pull/1878](https://togithub.com/typeddjango/django-stubs/pull/1878) - Relax type for `fields` argument of `Model.refresh_from_db()` by [@​mthuurne](https://togithub.com/mthuurne) in [https://github.com/typeddjango/django-stubs/pull/2035](https://togithub.com/typeddjango/django-stubs/pull/2035) - \[5.0] Add missing stubs for geos by [@​nebiyuelias1](https://togithub.com/nebiyuelias1) in [https://github.com/typeddjango/django-stubs/pull/2034](https://togithub.com/typeddjango/django-stubs/pull/2034) - Make `AdminSite.get_model_admin` generic by [@​Viicos](https://togithub.com/Viicos) in [https://github.com/typeddjango/django-stubs/pull/2038](https://togithub.com/typeddjango/django-stubs/pull/2038) - \[5.0] Add `db_default=` parameter to models `Field` classes by [@​Skorpyon](https://togithub.com/Skorpyon) in [https://github.com/typeddjango/django-stubs/pull/1876](https://togithub.com/typeddjango/django-stubs/pull/1876) - Remove `class Meta` from `Model` and `Form` class stubs by [@​jorenham](https://togithub.com/jorenham) in [https://github.com/typeddjango/django-stubs/pull/2000](https://togithub.com/typeddjango/django-stubs/pull/2000) - Add datetime.timedelta as valid type for HttpRequest.get_signed_cookie() max_age argument. by [@​pelme](https://togithub.com/pelme) in [https://github.com/typeddjango/django-stubs/pull/2045](https://togithub.com/typeddjango/django-stubs/pull/2045) - CI: Update Django 4.2 version used for test suite by [@​intgr](https://togithub.com/intgr) in [https://github.com/typeddjango/django-stubs/pull/2049](https://togithub.com/typeddjango/django-stubs/pull/2049) - Refine return type for `ManyToOneRel.get_accessor_name()` by [@​mthuurne](https://togithub.com/mthuurne) in [https://github.com/typeddjango/django-stubs/pull/2052](https://togithub.com/typeddjango/django-stubs/pull/2052) - Add `DeferredAttribute.__get__()` by [@​mthuurne](https://togithub.com/mthuurne) in [https://github.com/typeddjango/django-stubs/pull/2050](https://togithub.com/typeddjango/django-stubs/pull/2050) - Add missing methods and superclass to `FieldFile` by [@​mthuurne](https://togithub.com/mthuurne) in [https://github.com/typeddjango/django-stubs/pull/2051](https://togithub.com/typeddjango/django-stubs/pull/2051) - Add `db_comment=` parameter to Postgres and GIS model fields by [@​saJaeHyukc](https://togithub.com/saJaeHyukc) in [https://github.com/typeddjango/django-stubs/pull/2054](https://togithub.com/typeddjango/django-stubs/pull/2054) - Correct type for `db.models.sql.query.Query.join()` argument by [@​mthuurne](https://togithub.com/mthuurne) in [https://github.com/typeddjango/django-stubs/pull/2055](https://togithub.com/typeddjango/django-stubs/pull/2055) - 5.0: Update `django.db.backends.oracle.base` by [@​sudosubin](https://togithub.com/sudosubin) in [https://github.com/typeddjango/django-stubs/pull/2057](https://togithub.com/typeddjango/django-stubs/pull/2057) - 5.0: Update `django.test.client` by [@​sudosubin](https://togithub.com/sudosubin) in [https://github.com/typeddjango/django-stubs/pull/2059](https://togithub.com/typeddjango/django-stubs/pull/2059) - 5.0: Update `django.test.html` by [@​sudosubin](https://togithub.com/sudosubin) in [https://github.com/typeddjango/django-stubs/pull/2060](https://togithub.com/typeddjango/django-stubs/pull/2060) - 5.0: Update `django.test.runner` by [@​sudosubin](https://togithub.com/sudosubin) in [https://github.com/typeddjango/django-stubs/pull/2061](https://togithub.com/typeddjango/django-stubs/pull/2061) - 5.0: Update `django.template`, `django.templatetags` by [@​sudosubin](https://togithub.com/sudosubin) in [https://github.com/typeddjango/django-stubs/pull/2063](https://togithub.com/typeddjango/django-stubs/pull/2063) - 5.0: Update `django.test.testcases` by [@​sudosubin](https://togithub.com/sudosubin) in [https://github.com/typeddjango/django-stubs/pull/2062](https://togithub.com/typeddjango/django-stubs/pull/2062) - 5.0: Update `django.http` by [@​sudosubin](https://togithub.com/sudosubin) in [https://github.com/typeddjango/django-stubs/pull/2064](https://togithub.com/typeddjango/django-stubs/pull/2064) - 5.0: Update `django.core.management` by [@​sudosubin](https://togithub.com/sudosubin) in [https://github.com/typeddjango/django-stubs/pull/2067](https://togithub.com/typeddjango/django-stubs/pull/2067) - 5.0: Update `django.core.handlers` by [@​sudosubin](https://togithub.com/sudosubin) in [https://github.com/typeddjango/django-stubs/pull/2066](https://togithub.com/typeddjango/django-stubs/pull/2066) - 5.0: Update `django.contrib.sessions.serializers`, `django.core.serializers` by [@​sudosubin](https://togithub.com/sudosubin) in [https://github.com/typeddjango/django-stubs/pull/2068](https://togithub.com/typeddjango/django-stubs/pull/2068) - Update django app related types by [@​sudosubin](https://togithub.com/sudosubin) in [https://github.com/typeddjango/django-stubs/pull/2071](https://togithub.com/typeddjango/django-stubs/pull/2071) - Add a `returncode` attribute to `CommandError` by [@​flaeppe](https://togithub.com/flaeppe) in [https://github.com/typeddjango/django-stubs/pull/2072](https://togithub.com/typeddjango/django-stubs/pull/2072) - Disable mypy `ignore_missing_imports` option by [@​sudosubin](https://togithub.com/sudosubin) in [https://github.com/typeddjango/django-stubs/pull/2058](https://togithub.com/typeddjango/django-stubs/pull/2058) - fix typing for URL validator.**call** by [@​asottile](https://togithub.com/asottile) in [https://github.com/typeddjango/django-stubs/pull/2074](https://togithub.com/typeddjango/django-stubs/pull/2074) - Use field generic types for descriptors by [@​md384](https://togithub.com/md384) in [https://github.com/typeddjango/django-stubs/pull/2048](https://togithub.com/typeddjango/django-stubs/pull/2048) - 5.0: Update `django.core.servers.basehttp` by [@​sudosubin](https://togithub.com/sudosubin) in [https://github.com/typeddjango/django-stubs/pull/2070](https://togithub.com/typeddjango/django-stubs/pull/2070) - Update `django.template.base.Template.render()` argument type by [@​Majsvaffla](https://togithub.com/Majsvaffla) in [https://github.com/typeddjango/django-stubs/pull/1160](https://togithub.com/typeddjango/django-stubs/pull/1160) - 5.0: Add `django.utils.choices` by [@​sudosubin](https://togithub.com/sudosubin) in [https://github.com/typeddjango/django-stubs/pull/2075](https://togithub.com/typeddjango/django-stubs/pull/2075) - 5.0: Update `django.contrib.sitemaps`, `django.contrib.staticfiles` by [@​sudosubin](https://togithub.com/sudosubin) in [https://github.com/typeddjango/django-stubs/pull/2076](https://togithub.com/typeddjango/django-stubs/pull/2076) - Update pyright report options (`reportMissingTypeArgument`, `reportPrivateUsage`) by [@​sudosubin](https://togithub.com/sudosubin) in [https://github.com/typeddjango/django-stubs/pull/2077](https://togithub.com/typeddjango/django-stubs/pull/2077) - 5.0: Update `django.contrib.postgres` by [@​sudosubin](https://togithub.com/sudosubin) in [https://github.com/typeddjango/django-stubs/pull/2078](https://togithub.com/typeddjango/django-stubs/pull/2078) - Add `path` signature for async views by [@​jlost](https://togithub.com/jlost) in [https://github.com/typeddjango/django-stubs/pull/2085](https://togithub.com/typeddjango/django-stubs/pull/2085) - Remove incorrect `Reversible` base class from `QuerySet` by [@​intgr](https://togithub.com/intgr) in [https://github.com/typeddjango/django-stubs/pull/2094](https://togithub.com/typeddjango/django-stubs/pull/2094) - Version 5.0.0 release (django-stubs, django-stubs-ext) by [@​flaeppe](https://togithub.com/flaeppe) in [https://github.com/typeddjango/django-stubs/pull/2087](https://togithub.com/typeddjango/django-stubs/pull/2087) #### New Contributors - [@​Viicos](https://togithub.com/Viicos) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/1866](https://togithub.com/typeddjango/django-stubs/pull/1866) - [@​dephiros](https://togithub.com/dephiros) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/1873](https://togithub.com/typeddjango/django-stubs/pull/1873) - [@​jamesbraza](https://togithub.com/jamesbraza) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/1927](https://togithub.com/typeddjango/django-stubs/pull/1927) - [@​mfosterw](https://togithub.com/mfosterw) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/1943](https://togithub.com/typeddjango/django-stubs/pull/1943) - [@​palfrey](https://togithub.com/palfrey) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/1944](https://togithub.com/typeddjango/django-stubs/pull/1944) - [@​yhay81](https://togithub.com/yhay81) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/1955](https://togithub.com/typeddjango/django-stubs/pull/1955) - [@​delfick](https://togithub.com/delfick) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/1961](https://togithub.com/typeddjango/django-stubs/pull/1961) - [@​SingingTree](https://togithub.com/SingingTree) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/1956](https://togithub.com/typeddjango/django-stubs/pull/1956) - [@​avoronov-box](https://togithub.com/avoronov-box) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/1962](https://togithub.com/typeddjango/django-stubs/pull/1962) - [@​cuu508](https://togithub.com/cuu508) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/1993](https://togithub.com/typeddjango/django-stubs/pull/1993) - [@​samueljsb](https://togithub.com/samueljsb) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/1994](https://togithub.com/typeddjango/django-stubs/pull/1994) - [@​pelme](https://togithub.com/pelme) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/1999](https://togithub.com/typeddjango/django-stubs/pull/1999) - [@​mlazar-endear](https://togithub.com/mlazar-endear) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/2001](https://togithub.com/typeddjango/django-stubs/pull/2001) - [@​j00bar](https://togithub.com/j00bar) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/2010](https://togithub.com/typeddjango/django-stubs/pull/2010) - [@​jorenham](https://togithub.com/jorenham) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/2019](https://togithub.com/typeddjango/django-stubs/pull/2019) - [@​fidoriel](https://togithub.com/fidoriel) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/1925](https://togithub.com/typeddjango/django-stubs/pull/1925) - [@​armanckeser](https://togithub.com/armanckeser) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/2021](https://togithub.com/typeddjango/django-stubs/pull/2021) - [@​nebiyuelias1](https://togithub.com/nebiyuelias1) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/2029](https://togithub.com/typeddjango/django-stubs/pull/2029) - [@​Skorpyon](https://togithub.com/Skorpyon) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/1876](https://togithub.com/typeddjango/django-stubs/pull/1876) - [@​saJaeHyukc](https://togithub.com/saJaeHyukc) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/2054](https://togithub.com/typeddjango/django-stubs/pull/2054) - [@​sudosubin](https://togithub.com/sudosubin) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/2057](https://togithub.com/typeddjango/django-stubs/pull/2057) - [@​md384](https://togithub.com/md384) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/2048](https://togithub.com/typeddjango/django-stubs/pull/2048) - [@​Majsvaffla](https://togithub.com/Majsvaffla) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/1160](https://togithub.com/typeddjango/django-stubs/pull/1160) - [@​jlost](https://togithub.com/jlost) made their first contribution in [https://github.com/typeddjango/django-stubs/pull/2085](https://togithub.com/typeddjango/django-stubs/pull/2085) **Full Changelog**: typeddjango/django-stubs@4.2.7...5.0.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMjEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjMyMS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJweXRob24iXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
#1495 updated
get_field_related_model_cls
to raiseUnregisteredModelError
rather than returningNone
for failure paths. However, None can still be returned if the initial retrieval ofrelated_model_cls
returns None.This patch adds a check to see if the initial retrieval has got a
None
and then raises the appropriate error rather than lettingNone
be returned.Related issues
Closes #1953