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
|
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from collections.abc import Sequence
from typing import ClassVar
from django.db.models import BaseConstraint, Index, OrderBy
from django.utils.datastructures import _ListOrTuple
from django_stubs_ext import StrOrPromise
class TypedModelMeta:
"""
Typed base class for Django Model `class Meta:` inner class. At runtime this is just an alias to `object`.
Most attributes are the same as `django.db.models.options.Options`. Options has some additional attributes and
some values are normalized by Django.
"""
abstract: ClassVar[bool] # default: False
app_label: ClassVar[str]
base_manager_name: ClassVar[str]
db_table: ClassVar[str]
db_table_comment: ClassVar[str]
db_tablespace: ClassVar[str]
default_manager_name: ClassVar[str]
default_related_name: ClassVar[str]
get_latest_by: ClassVar[str | Sequence[str]]
managed: ClassVar[bool] # default: True
order_with_respect_to: ClassVar[str]
ordering: ClassVar[Sequence[str | OrderBy]]
permissions: ClassVar[_ListOrTuple[tuple[str, StrOrPromise]]]
default_permissions: ClassVar[Sequence[str]] # default: ("add", "change", "delete", "view")
proxy: ClassVar[bool] # default: False
required_db_features: ClassVar[_ListOrTuple[str]]
required_db_vendor: ClassVar[str]
select_on_save: ClassVar[bool] # default: False
indexes: ClassVar[_ListOrTuple[Index]]
unique_together: ClassVar[Sequence[Sequence[str]]]
index_together: ClassVar[Sequence[Sequence[str]]] # Deprecated in Django 4.2
constraints: ClassVar[_ListOrTuple[BaseConstraint]]
verbose_name: ClassVar[StrOrPromise]
verbose_name_plural: ClassVar[StrOrPromise]
else:
TypedModelMeta = object
|