requirements: Add django-stubs and configure plugin.

Note that django_stubs_ext is required to be placed within common.in
because we need the monkeypatched types in runtime; django-stubs
itself is for type checking only.

In the future, we would like to pin to a release instead of a git
revision, but several patches we've contributed upstream have not
appeared in a release yet.

We also remove the type annotation for RealmAuditLog.event_last_message_id
here instead of earlier because type checking fails otherwise.

Fixes #11560.
This commit is contained in:
PIG208
2021-07-17 10:25:08 +00:00
committed by Tim Abbott
parent 4c3c976174
commit df18bbbd48
10 changed files with 60 additions and 11 deletions

View File

@@ -15,6 +15,13 @@
# See https://zulip.readthedocs.io/en/latest/subsystems/settings.html for more information
#
########################################################################
import django_stubs_ext
# Monkey-patch certain types that are declared as generic types
# generic in django-stubs, but not (yet) as generic types in Django
# itself. This is necessary to ensure type references like
# django.db.models.Lookup[int] work correctly at runtime.
django_stubs_ext.monkeypatch()
from .configured_settings import * # noqa: F401,F403 isort: skip
from .computed_settings import * # noqa: F401,F403 isort: skip