10000 Fix some django52 (#2691) · typeddjango/django-stubs@943ce37 · GitHub
[go: up one dir, main page]

Skip to content

Commit 943ce37

Browse files
skv0zsnegsobolevnpre-commit-ci[bot]
authored
Fix some django52 (#2691)
Co-authored-by: sobolevn <mail@sobolevn.me> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 12241e1 commit 943ce37

File tree

9 files changed

+24
-18
lines changed

9 files changed

+24
-18
lines changed

django-stubs/db/models/fields/composite.pyi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,5 @@ class CompositePrimaryKey(Field):
6060
def __iter__(self) -> Iterator[Field | ForeignObjectRel | GenericForeignKey]: ...
6161
def __len__(self) -> int: ...
6262
def get_pk_value_on_save(self, instance: Model) -> tuple: ... # actual type is tuple of field.value_from_object
63+
64+
def unnest(fields: Iterable[Field[Any, Any]]) -> list[Field[Any, Any]]: ...

django-stubs/db/models/options.pyi

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,3 +143,7 @@ class Options(Generic[_M]):
143143
def total_unique_constraints(self) -> list[UniqueConstraint]: ...
144144
@cached_property
145145
def db_returning_fields(self) -> list[Field[Any, Any]]: ...
146+
@cached_property
147+
def pk_fields(self) -> list[Field[Any, Any]]: ...
148+
@property
149+
def is_composite_pk(self) -> bool: ...

django-stubs/db/models/sql/compiler.pyi

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ from uuid import UUID
66

77
from django.db.backends.base.base import BaseDatabaseWrapper
88
from django.db.backends.utils import CursorWrapper
9+
from django.db.models import Field
910
from django.db.models.base import Model
1011
from django.db.models.expressions import BaseExpression, Expression, Ref
1112
from django.db.models.sql.query import Query
@@ -120,12 +121,21 @@ class SQLCompiler:
120121
self, result_type: Literal["multi"] = "multi", chunked_fetch: bool = False, chunk_size: int = 100
121122
) -> Iterable[list[Sequence[Any]]] | None: ...
122123
def explain_query(self) -> Iterator[str]: ...
124+
def composite_fields_to_tuples(
125+
self, rows: Iterable[Any], expressions: Iterable[Expression]
126+
) -> Iterator[list[tuple[Any, ...]]]: ...
127+
def has_composite_fields(self, expressions: Iterable[Expression]) -> bool: ...
123128

124129
class SQLInsertCompiler(SQLCompiler):
125130
query: InsertQuery
126131
returning_fields: Sequence[Any] | None
127132
returning_params: Sequence[Any]
128-
def field_as_sql(self, field: Any, val: Any) -> _AsSqlType: ...
133+
def field_as_sql(
134+
self,
135+
field: Field[Any, Any] | None,
136+
get_placeholder: Callable[[Any, SQLInsertCompiler, BaseDatabaseWrapper], str],
137+
val: Any,
138+
) -> _AsSqlType: ...
129139
def prepare_value(self, field: Any, value: Any) -> Any: ...
130140
def pre_save_val(self, field: Any, obj: Any) -> Any: ...
131141
def assemble_as_sql(self, fields: Any, value_rows: Any) -> tuple[list[list[str]], list[list[Any]]]: ...

django-stubs/forms/boundfield.pyi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ class BoundField(RenderableFieldMixin):
6969
def widget_type(self) -> str: ...
7070
@property
7171
def use_fieldset(self) -> bool: ...
72+
@property
73+
def aria_describedby(self) -> str | None: ...
7274

7375
class BoundWidget:
7476
parent_widget: Widget

django-stubs/forms/forms.pyi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ class BaseForm(RenderableFormMixin):
3232
template_name_table: str
3333
template_name_ul: str
3434
template_name_label: str
35+
bound_field_class: type[BoundField] | None
3536
def __init__(
3637
self,
3738
data: _DataT | None = None,

django-stubs/forms/renderers.pyi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from typing import Any
22

3+
from django.forms.boundfield import BoundField
34
from django.http import HttpRequest
45
from django.template.backends.base import BaseEngine
56
from django.template.backends.django import DjangoTemplates as DjangoTemplatesR
@@ -14,6 +15,7 @@ class BaseRenderer:
1415
form_template_name: str
1516
formset_template_name: str
1617
field_template_name: str
18+
bound_field_class: type[BoundField] | None
1719
def get_template(self, template_name: str) -> Any: ...
1820
def render(self, template_name: str, context: dict[str, Any], request: HttpRequest | None = None) -> str: ...
1921

django-stubs/test/runner.pyi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ class ParallelTestSuite(TestSuite):
8888
self, subsuites: list[TestSuite], processes: int, failfast: bool = ..., buffer: bool = ...
8989
) -> None: ...
9090
def run(self, result: Any) -> Any: ... # type: ignore[override]
91+
def handle_event(self, result: Any, tests: list[TestSuite], event: Sequence[Any]) -> None: ...
9192

9293
class DiscoverRunner:
9394
test_suite: type[TestSuite]

scripts/stubtest/allowlist.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -444,6 +444,7 @@ django.db.models.CompositePrimaryKey.fields
444444
django.db.models.fields.composite.CompositePrimaryKey.cached_col
445445
django.db.models.fields.composite.CompositePrimaryKey.columns
446446
django.db.models.fields.composite.CompositePrimaryKey.fields
447+
django.db.models.options.Options.pk_fields
447448

448449
# Ignore missing inner `Meta` class, see PR #2000 for the related discussion
449450
django.contrib.auth.base_user.AbstractBaseUser.Meta

scripts/stubtest/allowlist_todo_django52.txt

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ django.contrib.gis.db.models.Field.has_db_default
1212
django.contrib.gis.db.models.ForeignKey.cast_db_type
1313
django.contrib.gis.db.models.OrderBy.allows_composite_expressions
1414
django.contrib.gis.db.models.Q.identity
15-
django.contrib.gis.forms.BaseForm.bound_field_class
16-
django.contrib.gis.forms.BoundField.aria_describedby
1715
django.contrib.gis.gdal.OGRGeometry.geos_support
1816
django.contrib.gis.gdal.OGRGeometry.get_curve_geometry
1917
django.contrib.gis.gdal.OGRGeometry.get_linear_geometry
@@ -45,12 +43,9 @@ django.db.backends.base.features.BaseDatabaseFeatures.rounds_to_even
4543
django.db.backends.base.features.BaseDatabaseFeatures.supports_tuple_lookups
4644
django.db.backends.base.schema.BaseDatabaseSchemaEditor.sql_pk_constraint
4745
django.db.backends.mysql.compiler.SQLCompiler.__init__
48-
django.db.backends.mysql.compiler.SQLCompiler.composite_fields_to_tuples
4946
django.db.backends.mysql.compiler.SQLCompiler.get_default_columns
5047
django.db.backends.mysql.compiler.SQLCompiler.get_qualify_sql
5148
django.db.backends.mysql.compiler.SQLCompiler.get_related_selections
52-
django.db.backends.mysql.compiler.SQLCompiler.has_composite_fields
53-
django.db.backends.mysql.compiler.SQLInsertCompiler.field_as_sql
5449
django.db.backends.mysql.features.DatabaseFeatures.allows_group_by_selected_pks
5550
django.db.backends.mysql.features.DatabaseFeatures.has_native_uuid_field
5651
django.db.backends.mysql.features.DatabaseFeatures.supports_expression_defaults
@@ -97,19 +92,7 @@ django.db.models.expressions.ColPairs
9792
django.db.models.expressions.OrderBy.allows_composite_expressions
9893
django.db.models.expressions.OutputFieldIsNoneError
9994
django.db.models.fields.Field.has_db_default
100-
django.db.models.fields.composite.unnest
10195
django.db.models.fields.related.ForeignKey.cast_db_type
10296
django.db.models.fields.tuple_lookups
10397
django.db.models.functions.JSONObject.join
10498
django.db.models.functions.json.JSONObject.join
105-
django.db.models.options.Options.is_composite_pk
106-
django.db.models.options.Options.pk_fields
107-
django.db.models.sql.compiler.SQLCompiler.composite_fields_to_tuples
108-
django.db.models.sql.compiler.SQLCompiler.has_composite_fields
109-
django.db.models.sql.compiler.SQLInsertCompiler.field_as_sql
110-
django.forms.BaseForm.bound_field_class
111-
django.forms.BoundField.aria_describedby
112-
django.forms.boundfield.BoundField.aria_describedby
113-
django.forms.forms.BaseForm.bound_field_class
114-
django.forms.renderers.BaseRenderer.bound_field_class
115-
django.test.runner.ParallelTestSuite.handle_event

0 commit comments

Comments
 (0)
0