A couple of small fixes (#81)

* Fix type of django.contrib.postgres.fields.JSONField(verbose_name)

* Improve type for CursorWrapper.execute(params)

Not perfect. Based on simple cases from
http://initd.org/psycopg/docs/usage.html#adaptation-of-python-values-to-sql-types
This commit is contained in:
Ran Benita authored and Maxim Kurnikov committed 2019-05-21 21:26:45 +03:00
1 parent dd5b98faf0
commit 0e60b70ae4
2 files changed
+12 -4

No files matched your search

@@ -15,7 +15,11 @@ class JSONField(CheckFieldDefaultMixin, Field):
default_error_messages: Any = ... default_error_messages: Any = ...
encoder: Any = ... encoder: Any = ...
def __init__( def __init__(
self, verbose_name: None = ..., name: None = ..., encoder: Optional[Type[JSONEncoder]] = ..., **kwargs: Any self,
verbose_name: Optional[str] = ...,
name: Optional[str] = ...,
encoder: Optional[Type[JSONEncoder]] = ...,
**kwargs: Any
) -> None: ... ) -> None: ...
def db_type(self, connection: Any): ... def db_type(self, connection: Any): ...
def deconstruct(self) -> Tuple[None, str, List[Any], Dict[str, Union[Type[JSONEncoder], bool]]]: ... def deconstruct(self) -> Tuple[None, str, List[Any], Dict[str, Union[Type[JSONEncoder], bool]]]: ...
+7 -3
View File
@@ -1,9 +1,13 @@
from datetime import date, datetime, time from datetime import date, datetime, time
from decimal import Decimal from decimal import Decimal
from typing import Any, Dict, Iterator, List, Optional, Tuple, Union from typing import Any, Dict, Iterator, List, Mapping, Optional, Sequence, Tuple, Union
from uuid import UUID
logger: Any logger: Any
# Python types that can be adapted to SQL.
_SQLType = Union[None, bool, int, float, Decimal, str, bytes, datetime, UUID]
class CursorWrapper: class CursorWrapper:
cursor: Any = ... cursor: Any = ...
db: Any = ... db: Any = ...
@@ -15,10 +19,10 @@ class CursorWrapper:
def __exit__(self, type: None, value: None, traceback: None) -> None: ... def __exit__(self, type: None, value: None, traceback: None) -> None: ...
def callproc(self, procname: str, params: List[Any] = ..., kparams: Dict[str, int] = ...) -> Any: ... def callproc(self, procname: str, params: List[Any] = ..., kparams: Dict[str, int] = ...) -> Any: ...
def execute( def execute(
self, sql: str, params: Optional[Union[List[bool], List[datetime], List[float], Tuple]] = ... self, sql: str, params: Optional[Union[Sequence[_SQLType], Mapping[str, _SQLType]]] = ...
) -> Optional[Any]: ... ) -> Optional[Any]: ...
def executemany( def executemany(
self, sql: str, param_list: Union[Iterator[Any], List[Tuple[Union[int, str]]]] self, sql: str, param_list: Sequence[Optional[Union[Sequence[_SQLType], Mapping[str, _SQLType]]]]
) -> Optional[Any]: ... ) -> Optional[Any]: ...
class CursorDebugWrapper(CursorWrapper): class CursorDebugWrapper(CursorWrapper):