expose querysetproxy on reverse of foreignkey (virtual fk), add additional methods from queryset to querysetproxy
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
from typing import Any, List, Optional, Sequence, TYPE_CHECKING, Union
|
||||
from typing import Any, Dict, List, Optional, Sequence, Set, TYPE_CHECKING, Union
|
||||
|
||||
try:
|
||||
from typing import Protocol
|
||||
@ -6,14 +6,21 @@ except ImportError: # pragma: nocover
|
||||
from typing_extensions import Protocol # type: ignore
|
||||
|
||||
if TYPE_CHECKING: # noqa: C901; #pragma nocover
|
||||
from ormar import QuerySet, Model
|
||||
from ormar import Model
|
||||
from ormar.relations.querysetproxy import QuerysetProxy
|
||||
|
||||
|
||||
class QuerySetProtocol(Protocol): # pragma: nocover
|
||||
def filter(self, **kwargs: Any) -> "QuerySet": # noqa: A003, A001
|
||||
def filter(self, **kwargs: Any) -> "QuerysetProxy": # noqa: A003, A001
|
||||
...
|
||||
|
||||
def select_related(self, related: Union[List, str]) -> "QuerySet":
|
||||
def exclude(self, **kwargs: Any) -> "QuerysetProxy": # noqa: A003, A001
|
||||
...
|
||||
|
||||
def select_related(self, related: Union[List, str]) -> "QuerysetProxy":
|
||||
...
|
||||
|
||||
def prefetch_related(self, related: Union[List, str]) -> "QuerysetProxy":
|
||||
...
|
||||
|
||||
async def exists(self) -> bool:
|
||||
@ -25,10 +32,10 @@ class QuerySetProtocol(Protocol): # pragma: nocover
|
||||
async def clear(self) -> int:
|
||||
...
|
||||
|
||||
def limit(self, limit_count: int) -> "QuerySet":
|
||||
def limit(self, limit_count: int) -> "QuerysetProxy":
|
||||
...
|
||||
|
||||
def offset(self, offset: int) -> "QuerySet":
|
||||
def offset(self, offset: int) -> "QuerysetProxy":
|
||||
...
|
||||
|
||||
async def first(self, **kwargs: Any) -> "Model":
|
||||
@ -44,3 +51,18 @@ class QuerySetProtocol(Protocol): # pragma: nocover
|
||||
|
||||
async def create(self, **kwargs: Any) -> "Model":
|
||||
...
|
||||
|
||||
async def get_or_create(self, **kwargs: Any) -> "Model":
|
||||
...
|
||||
|
||||
async def update_or_create(self, **kwargs: Any) -> "Model":
|
||||
...
|
||||
|
||||
def fields(self, columns: Union[List, str, Set, Dict]) -> "QuerysetProxy":
|
||||
...
|
||||
|
||||
def exclude_fields(self, columns: Union[List, str, Set, Dict]) -> "QuerysetProxy":
|
||||
...
|
||||
|
||||
def order_by(self, columns: Union[List, str]) -> "QuerysetProxy":
|
||||
...
|
||||
|
||||
Reference in New Issue
Block a user