blob: cb8e30df81adfc036f6e3754563b4ecec39ab640 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
from typing import Callable
from sqlalchemy import Column
from sqlalchemy import Integer
from sqlalchemy import String
from sqlalchemy.orm import deferred
from sqlalchemy.orm import Mapped
from sqlalchemy.orm.decl_api import declarative_mixin
from sqlalchemy.orm.decl_api import declared_attr
from sqlalchemy.orm.interfaces import MapperProperty
def some_other_decorator(fn: Callable[..., None]) -> Callable[..., None]:
return fn
@declarative_mixin
class HasAMixin:
x: Mapped[int] = Column(Integer)
y = Column(String)
@declared_attr
def data(cls) -> Column[String]:
return Column(String)
@declared_attr
def data2(cls) -> MapperProperty[str]:
return deferred(Column(String))
@some_other_decorator
def q(cls) -> None:
return None
|