Skip to content

Commit f1640af

Browse files
committed
Move behind if TYPE_CHECKING
1 parent 1b49b99 commit f1640af

File tree

1 file changed

+56
-51
lines changed
  • django_stubs_ext/django_stubs_ext/db

1 file changed

+56
-51
lines changed
Lines changed: 56 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,56 @@
1-
from typing import ClassVar, List, Sequence, Tuple, Union
2-
3-
from django.db.models import BaseConstraint, Index
4-
from typing_extensions import Literal
5-
6-
from django_stubs_ext import StrOrPromise
7-
8-
9-
class BaseModelMeta:
10-
"""
11-
Typed base class for Django Model `class Meta:` inner class.
12-
13-
Most attributes are the same as `django.db.models.options.Options`. Options has some additional attributes and some
14-
values are normalized by Django.
15-
16-
Usage::
17-
18-
from django.db import models
19-
from django_stubs_ext.db.models import BaseModelMeta
20-
21-
class MyModel(models.Model):
22-
example = models.CharField(max_length=100)
23-
24-
class Meta(BaseModelMeta):
25-
ordering = ["example"]
26-
"""
27-
28-
abstract: ClassVar[bool] # default: False
29-
app_label: ClassVar[str]
30-
base_manager_name: ClassVar[str]
31-
db_table: ClassVar[str]
32-
db_table_comment: ClassVar[str]
33-
db_tablespace: ClassVar[str]
34-
default_manager_name: ClassVar[str]
35-
default_related_name: ClassVar[str]
36-
get_latest_by: ClassVar[Union[str, Sequence[str]]]
37-
managed: ClassVar[bool] # default: True
38-
order_with_respect_to: ClassVar[str]
39-
ordering: ClassVar[Sequence[str]]
40-
permissions: ClassVar[List[Tuple[str, str]]]
41-
default_permissions: ClassVar[Sequence[str]] # default: ("add", "change", "delete", "view")
42-
proxy: ClassVar[bool] # default: False
43-
required_db_features: ClassVar[List[str]]
44-
required_db_vendor: ClassVar[Literal["sqlite", "postgresql", "mysql", "oracle"]]
45-
select_on_save: ClassVar[bool] # default: False
46-
indexes: ClassVar[List[Index]]
47-
unique_together: ClassVar[Union[Sequence[Sequence[str]], Sequence[str]]]
48-
index_together: ClassVar[Union[Sequence[Sequence[str]], Sequence[str]]] # Deprecated in Django 4.2
49-
constraints: ClassVar[List[BaseConstraint]]
50-
verbose_name: ClassVar[StrOrPromise]
51-
verbose_name_plural: ClassVar[StrOrPromise]
1+
from typing import TYPE_CHECKING
2+
3+
if TYPE_CHECKING:
4+
from typing import ClassVar, List, Sequence, Tuple, Union
5+
6+
from django.db.models import BaseConstraint, Index
7+
from typing_extensions import Literal
8+
9+
from django_stubs_ext import StrOrPromise
10+
11+
class BaseModelMeta:
12+
"""
13+
Typed base class for Django Model `class Meta:` inner class.
14+
15+
Most attributes are the same as `django.db.models.options.Options`. Options has some additional attributes and some
16+
values are normalized by Django.
17+
18+
Usage::
19+
20+
from django.db import models
21+
from django_stubs_ext.db.models import BaseModelMeta
22+
23+
class MyModel(models.Model):
24+
example = models.CharField(max_length=100)
25+
26+
class Meta(BaseModelMeta):
27+
ordering = ["example"]
28+
"""
29+
30+
abstract: ClassVar[bool] # default: False
31+
app_label: ClassVar[str]
32+
base_manager_name: ClassVar[str]
33+
db_table: ClassVar[str]
34+
db_table_comment: ClassVar[str]
35+
db_tablespace: ClassVar[str]
36+
default_manager_name: ClassVar[str]
37+
default_related_name: ClassVar[str]
38+
get_latest_by: ClassVar[Union[str, Sequence[str]]]
39+
managed: ClassVar[bool] # default: True
40+
order_with_respect_to: ClassVar[str]
41+
ordering: ClassVar[Sequence[str]]
42+
permissions: ClassVar[List[Tuple[str, str]]]
43+
default_permissions: ClassVar[Sequence[str]] # default: ("add", "change", "delete", "view")
44+
proxy: ClassVar[bool] # default: False
45+
required_db_features: ClassVar[List[str]]
46+
required_db_vendor: ClassVar[Literal["sqlite", "postgresql", "mysql", "oracle"]]
47+
select_on_save: ClassVar[bool] # default: False
48+
indexes: ClassVar[List[Index]]
49+
unique_together: ClassVar[Union[Sequence[Sequence[str]], Sequence[str]]]
50+
index_together: ClassVar[Union[Sequence[Sequence[str]], Sequence[str]]] # Deprecated in Django 4.2
51+
constraints: ClassVar[List[BaseConstraint]]
52+
verbose_name: ClassVar[StrOrPromise]
53+
verbose_name_plural: ClassVar[StrOrPromise]
54+
55+
else:
56+
BaseModelMeta = object

0 commit comments

Comments
 (0)