mirror of
https://github.com/davidhalter/django-stubs.git
synced 2025-12-15 00:07:09 +08:00
[3.2] Adjust model indexes (#587)
This commit is contained in:
@@ -1,10 +1,12 @@
|
|||||||
from typing import Any, List, Optional, Sequence, Tuple, Type
|
from typing import Any, List, Optional, Sequence, Tuple, Type, Union
|
||||||
|
|
||||||
from django.db.backends.base.schema import BaseDatabaseSchemaEditor
|
from django.db.backends.base.schema import BaseDatabaseSchemaEditor
|
||||||
from django.db.backends.ddl_references import Statement
|
from django.db.backends.ddl_references import Statement
|
||||||
from django.db.models.base import Model
|
from django.db.models.base import Model
|
||||||
|
from django.db.models.expressions import BaseExpression, Combinable
|
||||||
from django.db.models.query_utils import Q
|
from django.db.models.query_utils import Q
|
||||||
|
|
||||||
|
|
||||||
class Index:
|
class Index:
|
||||||
model: Type[Model]
|
model: Type[Model]
|
||||||
suffix: str = ...
|
suffix: str = ...
|
||||||
@@ -15,14 +17,17 @@ class Index:
|
|||||||
db_tablespace: Optional[str] = ...
|
db_tablespace: Optional[str] = ...
|
||||||
opclasses: Sequence[str] = ...
|
opclasses: Sequence[str] = ...
|
||||||
condition: Optional[Q] = ...
|
condition: Optional[Q] = ...
|
||||||
|
expressions: Sequence[Union[Union[BaseExpression, Combinable]]]
|
||||||
|
include: Sequence[str]
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
*,
|
*expressions: Union[BaseExpression, Combinable, str],
|
||||||
fields: Sequence[str] = ...,
|
fields: Sequence[str] = ...,
|
||||||
name: Optional[str] = ...,
|
name: Optional[str] = ...,
|
||||||
db_tablespace: Optional[str] = ...,
|
db_tablespace: Optional[str] = ...,
|
||||||
opclasses: Sequence[str] = ...,
|
opclasses: Sequence[str] = ...,
|
||||||
condition: Optional[Q] = ...
|
condition: Optional[Q] = ...,
|
||||||
|
include: Optional[Sequence[str]] = ...,
|
||||||
) -> None: ...
|
) -> None: ...
|
||||||
def check_name(self) -> List[str]: ...
|
def check_name(self) -> List[str]: ...
|
||||||
def create_sql(
|
def create_sql(
|
||||||
|
|||||||
10
tests/typecheck/models/test_indexes.yml
Normal file
10
tests/typecheck/models/test_indexes.yml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
- case: model_index
|
||||||
|
main: |
|
||||||
|
from django.db import models
|
||||||
|
from django.db.models.functions import Lower
|
||||||
|
models.Index(fields=["foo"])
|
||||||
|
models.Index("foo", models.F("bar"), Lower("baz"), name="test")
|
||||||
|
models.Index("foo", name="test", opclasses=["bar"])
|
||||||
|
models.Index("foo", name="test", condition=models.Q(foo=1))
|
||||||
|
models.Index("foo", name="test", include=["bar"])
|
||||||
|
|
||||||
Reference in New Issue
Block a user