forked from typeddjango/django-stubs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
constraints.pyi
58 lines (52 loc) · 1.97 KB
/
constraints.pyi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
from collections.abc import Sequence
from enum import Enum
from typing import Any, TypeVar, overload
from _typeshed import Self
from django.db.backends.base.schema import BaseDatabaseSchemaEditor
from django.db.models.base import Model
from django.db.models.expressions import Combinable
from django.db.models.query_utils import Q
class Deferrable(Enum):
DEFERRED: str
IMMEDIATE: str
class BaseConstraint:
name: str
violation_error_message: str | None = ...
def __init__(self, name: str, violation_error_message: str | None = ...) -> None: ...
def constraint_sql(self, model: type[Model] | None, schema_editor: BaseDatabaseSchemaEditor | None) -> str: ...
def create_sql(self, model: type[Model] | None, schema_editor: BaseDatabaseSchemaEditor | None) -> str: ...
def remove_sql(self, model: type[Model] | None, schema_editor: BaseDatabaseSchemaEditor | None) -> str: ...
def deconstruct(self) -> Any: ...
def clone(self: Self) -> Self: ...
class CheckConstraint(BaseConstraint):
check: Q
def __init__(self, *, check: Q, name: str, violation_error_message: str | None = ...) -> None: ...
class UniqueConstraint(BaseConstraint):
expressions: tuple[Combinable, ...]
fields: tuple[str, ...]
condition: Q | None
deferrable: Deferrable | None
@overload
def __init__(
self,
*expressions: str | Combinable,
fields: None = ...,
name: str,
condition: Q | None = ...,
deferrable: Deferrable | None = ...,
include: Sequence[str] | None = ...,
opclasses: Sequence[Any] = ...,
violation_error_message: str | None = ...
) -> None: ...
@overload
def __init__(
self,
*,
fields: Sequence[str],
name: str,
condition: Q | None = ...,
deferrable: Deferrable | None = ...,
include: Sequence[str] | None = ...,
opclasses: Sequence[Any] = ...,
violation_error_message: str | None = ...
) -> None: ...