|
2 | 2 |
|
3 | 3 | import sys |
4 | 4 | from inspect import Parameter, Signature |
5 | | -from typing import TYPE_CHECKING, Any, Callable, ClassVar, cast |
| 5 | +from typing import TYPE_CHECKING, Any, ClassVar |
6 | 6 |
|
7 | 7 | from sqlalchemy import Table, MetaData |
8 | | -from pydantic.dataclasses import dataclass |
9 | 8 | from nonebot import get_plugin_by_module_name |
10 | 9 | from pydantic.typing import get_args, get_origin |
11 | | -from sqlalchemy.orm import Mapped, DeclarativeBase, MappedAsDataclass |
| 10 | +from sqlalchemy.orm import Mapped, DeclarativeBase |
12 | 11 |
|
13 | 12 | from .utils import DependsInner, get_annotations |
14 | 13 |
|
|
29 | 28 | } |
30 | 29 |
|
31 | 30 |
|
32 | | -class Model( |
33 | | - MappedAsDataclass, |
34 | | - DeclarativeBase, |
35 | | - dataclass_callable=cast(Callable[..., type], dataclass), |
36 | | -): |
| 31 | +class Model(DeclarativeBase): |
37 | 32 | metadata = MetaData(naming_convention=NAMING_CONVENTION) |
38 | 33 |
|
39 | 34 | if TYPE_CHECKING: |
40 | | - __signature__: Signature |
41 | | - __table__: ClassVar[Table] |
42 | 35 | __bind_key__: ClassVar[str] |
| 36 | + __signature__: ClassVar[Signature] |
| 37 | + __table__: ClassVar[Table] |
43 | 38 |
|
44 | | - def __init_subclass__(cls) -> None: |
| 39 | + def __init_subclass__(cls, **kwargs) -> None: |
45 | 40 | _setup_di(cls) |
46 | 41 | _setup_tablename(cls) |
47 | 42 |
|
48 | | - super().__init_subclass__() |
| 43 | + super().__init_subclass__(**kwargs) |
49 | 44 |
|
50 | 45 | if not hasattr(cls, "__table__"): |
51 | 46 | return |
|
0 commit comments