Mark database parameters in Peewee as optional (#13442)

Peewee injects database arguments using a decorator whenever a model
or query has a bound connection. Passing the argument is therefore not
required, even for some function parameters without default values.
This commit is contained in:
Joakim Soderlund
2025-03-07 11:30:50 +01:00
committed by GitHub
parent 2f8de52edf
commit a1c28f71da
2 changed files with 29 additions and 19 deletions
@@ -11,6 +11,16 @@ peewee.DQ.__invert__
peewee.Window.as_groups
peewee.Window.as_range
peewee.Window.as_rows
# Wrapped with @database_required which sometimes injects the database argument
peewee.BaseQuery.execute
peewee.CompoundSelectQuery.exists
peewee.SelectBase.count
peewee.SelectBase.exists
peewee.SelectBase.first
peewee.SelectBase.get
peewee.SelectBase.peek
peewee.SelectBase.scalar
peewee.SelectBase.scalars
# Ignore missing playhouse modules and names we don't currently provide
playhouse\.\w+?
+19 -19
View File
@@ -190,11 +190,11 @@ class Table(_HashableSource, BaseTable): # type: ignore[misc]
schema: str | None = None,
alias: Incomplete | None = ...,
_model: Incomplete | None = ...,
_database: Incomplete | None = ...,
_database: Incomplete | None = None,
) -> None: ...
def clone(self): ...
def bind(self, database: Incomplete | None = ...): ...
def bind_ctx(self, database: Incomplete | None = ...): ...
def bind(self, database: Incomplete | None = None): ...
def bind_ctx(self, database: Incomplete | None = None): ...
def select(self, *columns): ...
def insert(self, insert: Incomplete | None = ..., columns: Incomplete | None = ..., **kwargs): ...
def replace(self, insert: Incomplete | None = ..., columns: Incomplete | None = ..., **kwargs): ...
@@ -517,8 +517,8 @@ class OnConflict(Node):
class BaseQuery(Node):
default_row_type: Incomplete
def __init__(self, _database: Incomplete | None = ..., **kwargs) -> None: ...
def bind(self, database: Incomplete | None = ...): ...
def __init__(self, _database: Incomplete | None = None, **kwargs) -> None: ...
def bind(self, database: Incomplete | None = None): ...
def clone(self): ...
def dicts(self, as_dict: bool = ...) -> Self: ...
def tuples(self, as_tuple: bool = ...) -> Self: ...
@@ -526,8 +526,8 @@ class BaseQuery(Node):
def objects(self, constructor: Incomplete | None = ...) -> Self: ...
def __sql__(self, ctx) -> None: ...
def sql(self): ...
def execute(self, database): ...
def iterator(self, database: Incomplete | None = ...): ...
def execute(self, database: Incomplete | None = None): ...
def iterator(self, database: Incomplete | None = None): ...
def __iter__(self): ...
def __getitem__(self, value): ...
def __len__(self) -> int: ...
@@ -571,20 +571,20 @@ class SelectQuery(Query):
def select_from(self, *columns): ...
class SelectBase(_HashableSource, Source, SelectQuery): # type: ignore[misc]
def peek(self, database, n: int = ...): ...
def first(self, database, n: int = ...): ...
def scalar(self, database, as_tuple: bool = ..., as_dict: bool = ...): ...
def scalars(self, database) -> Generator[Incomplete, None, None]: ...
def count(self, database, clear_limit: bool = ...): ...
def exists(self, database): ...
def get(self, database): ...
def peek(self, database: Incomplete | None = None, n: int = ...): ...
def first(self, database: Incomplete | None = None, n: int = ...): ...
def scalar(self, database: Incomplete | None = None, as_tuple: bool = ..., as_dict: bool = ...): ...
def scalars(self, database: Incomplete | None = None) -> Generator[Incomplete, None, None]: ...
def count(self, database: Incomplete | None = None, clear_limit: bool = ...): ...
def exists(self, database: Incomplete | None = None): ...
def get(self, database: Incomplete | None = None): ...
class CompoundSelectQuery(SelectBase):
lhs: Incomplete
op: Incomplete
rhs: Incomplete
def __init__(self, lhs, op, rhs) -> None: ...
def exists(self, database): ...
def exists(self, database: Incomplete | None = None): ...
def __sql__(self, ctx): ...
class Select(SelectBase):
@@ -1495,7 +1495,7 @@ class _SortedFieldList:
class SchemaManager:
model: Incomplete
context_options: Incomplete
def __init__(self, model, database: Incomplete | None = ..., **context_options) -> None: ...
def __init__(self, model, database: Incomplete | None = None, **context_options) -> None: ...
@property
def database(self): ...
@database.setter
@@ -1546,7 +1546,7 @@ class Metadata:
def __init__(
self,
model,
database: Incomplete | None = ...,
database: Incomplete | None = None,
table_name: Incomplete | None = ...,
indexes: Incomplete | None = ...,
primary_key: Incomplete | None = ...,
@@ -1744,8 +1744,8 @@ class BaseModelSelect(_ModelQueryHelper):
__sub__: Incomplete
def __iter__(self): ...
def prefetch(self, *subqueries): ...
def get(self, database: Incomplete | None = ...): ...
def get_or_none(self, database: Incomplete | None = ...): ...
def get(self, database: Incomplete | None = None): ...
def get_or_none(self, database: Incomplete | None = None): ...
def group_by(self, *columns) -> Self: ...
class ModelCompoundSelectQuery(BaseModelSelect, CompoundSelectQuery): # type: ignore[misc]