2
2
3
3
from __future__ import annotations
4
4
5
- from typing import Any , Protocol , TypeVar
5
+ from typing import Any , Protocol , Self , TypeVar
6
6
7
7
from .base import Mapped , db , declarative_mixin , sa , sa_orm
8
8
from .typing import ModelIdProtocol
@@ -23,7 +23,7 @@ class ReorderSubclassProtocol(ModelIdProtocol, Protocol):
23
23
@property
24
24
def parent_scoped_reorder_query_filter (self ) -> sa .ColumnElement [bool ]: ...
25
25
26
- def reorder_item (self : Reorderable , other : Reorderable , before : bool ) -> None : ...
26
+ def reorder_item (self , other : Self , before : bool ) -> None : ...
27
27
28
28
29
29
Reorderable = TypeVar ('Reorderable' , bound = 'ReorderSubclassProtocol' )
@@ -47,7 +47,7 @@ def parent_scoped_reorder_query_filter(
47
47
cls = self .__class__
48
48
return cls .parent_id == self .parent_id
49
49
50
- def reorder_item (self : Reorderable , other : Reorderable , before : bool ) -> None :
50
+ def reorder_item (self , other : Self , before : bool ) -> None :
51
51
"""Reorder self before or after other item."""
52
52
cls = self .__class__
53
53
@@ -121,10 +121,10 @@ def reorder_item(self: Reorderable, other: Reorderable, before: bool) -> None:
121
121
self .seq = new_seq_number
122
122
db .session .flush ()
123
123
124
- def reorder_before (self : Reorderable , other : Reorderable ) -> None :
124
+ def reorder_before (self , other : Self ) -> None :
125
125
"""Reorder to be before another item's sequence number."""
126
126
self .reorder_item (other , True )
127
127
128
- def reorder_after (self : Reorderable , other : Reorderable ) -> None :
128
+ def reorder_after (self , other : Self ) -> None :
129
129
"""Reorder to be after another item's sequence number."""
130
130
self .reorder_item (other , False )
0 commit comments