diff --git a/django-stubs/db/migrations/operations/models.pyi b/django-stubs/db/migrations/operations/models.pyi index b255821..2676046 100644 --- a/django-stubs/db/migrations/operations/models.pyi +++ b/django-stubs/db/migrations/operations/models.pyi @@ -74,9 +74,9 @@ class IndexOperation(Operation): class AddIndex(IndexOperation): model_name: str = ... index: Index = ... - def __init__(self, model_name: str, index: Index) -> None: ... + def __init__(self, model_name: str, index: Union[str, Index]) -> None: ... class RemoveIndex(IndexOperation): model_name: str = ... name: str = ... - def __init__(self, model_name: str, name: str) -> None: ... + def __init__(self, model_name: str, name: Union[str, Index]) -> None: ... diff --git a/django-stubs/db/models/fields/__init__.pyi b/django-stubs/db/models/fields/__init__.pyi index c871813..b358e79 100644 --- a/django-stubs/db/models/fields/__init__.pyi +++ b/django-stubs/db/models/fields/__init__.pyi @@ -74,6 +74,7 @@ class SmallIntegerField(IntegerField): ... class BigIntegerField(IntegerField): ... class FloatField(Field): + def __set__(self, instance, value: Union[float, int, Combinable]) -> float: ... def __get__(self, instance, owner) -> float: ... class DecimalField(Field): @@ -99,6 +100,7 @@ class DecimalField(Field): validators: Iterable[_ValidatorCallable] = ..., error_messages: Optional[_ErrorMessagesToOverride] = ..., ): ... + def __set__(self, instance, value: Union[str, Combinable]) -> decimal.Decimal: ... def __get__(self, instance, owner) -> decimal.Decimal: ... class AutoField(Field): diff --git a/scripts/mypy.ini b/scripts/mypy.ini index 162dd63..e105b01 100644 --- a/scripts/mypy.ini +++ b/scripts/mypy.ini @@ -5,6 +5,7 @@ check_untyped_defs = True warn_no_return = False show_traceback = True warn_redundant_casts = True +allow_redefinition = True plugins = mypy_django_plugin.main diff --git a/scripts/typecheck_tests.py b/scripts/typecheck_tests.py index dd52320..c82b360 100644 --- a/scripts/typecheck_tests.py +++ b/scripts/typecheck_tests.py @@ -194,6 +194,7 @@ IGNORED_ERRORS = { + 'expected "Optional[Sequence[Union[Type[Model], str]]]"', 'Argument 1 to "RunPython" has incompatible type "str"; expected "Callable[..., Any]"', 'FakeLoader', + 'Argument 1 to "append" of "list" has incompatible type "AddIndex"; expected "CreateModel"' ], 'queryset_pickle': [ '"None" has no attribute "somefield"' @@ -412,10 +413,8 @@ TESTS_DIRS = [ # TODO: 'middleware_exceptions', 'migrate_signals', 'migration_test_data_persistence', - # wait for redefinitions - # TODO: 'migrations', + 'migrations', 'migrations2', - # waits for allow redefinitions # TODO: 'model_fields', # TODO: 'model_forms', 'model_formsets', @@ -493,8 +492,7 @@ TESTS_DIRS = [ 'transactions', 'unmanaged_models', - # wait for "allow redefinitions" here - # TODO: 'update', + 'update', 'update_only_fields', 'urlpatterns',