Add deferrable argument to unique constraint (#472)

This commit is contained in:
Nicolas Delaby
2021-01-20 09:04:38 +01:00
committed by GitHub
parent bdc7db1154
commit a8d8561d0e
2 changed files with 10 additions and 1 deletions

View File

@@ -132,6 +132,7 @@ from . import signals as signals
from .constraints import (
BaseConstraint as BaseConstraint,
CheckConstraint as CheckConstraint,
Deferrable as Deferrable,
UniqueConstraint as UniqueConstraint,
)

View File

@@ -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: ...