diff --git a/django-stubs/db/models/__init__.pyi b/django-stubs/db/models/__init__.pyi index d80151a..a563a65 100644 --- a/django-stubs/db/models/__init__.pyi +++ b/django-stubs/db/models/__init__.pyi @@ -132,6 +132,7 @@ from . import signals as signals from .constraints import ( BaseConstraint as BaseConstraint, CheckConstraint as CheckConstraint, + Deferrable as Deferrable, UniqueConstraint as UniqueConstraint, ) diff --git a/django-stubs/db/models/constraints.pyi b/django-stubs/db/models/constraints.pyi index dc163ab..cc7cf32 100644 --- a/django-stubs/db/models/constraints.pyi +++ b/django-stubs/db/models/constraints.pyi @@ -1,3 +1,4 @@ +import enum from typing import Any, Optional, Sequence, Tuple, Type, TypeVar from django.db.backends.base.schema import BaseDatabaseSchemaEditor @@ -6,6 +7,10 @@ from django.db.models.query_utils import Q _T = TypeVar("_T", bound="BaseConstraint") +class Deferrable(enum.Enum): + DEFERRED: str + IMMEDIATE: str + class BaseConstraint: name: str def __init__(self, name: str) -> None: ... @@ -24,4 +29,7 @@ class CheckConstraint(BaseConstraint): class UniqueConstraint(BaseConstraint): fields: Tuple[str] condition: Optional[Q] - def __init__(self, *, fields: Sequence[str], name: str, condition: Optional[Q] = ...): ... + deferrable: Optional[Deferrable] + def __init__( + self, *, fields: Sequence[str], name: str, condition: Optional[Q] = ..., deferrable: Optional[Deferrable] = ... + ) -> None: ...