Closed
Description
from __future__ import annotations
import dataclasses
from sqlalchemy.orm import DeclarativeBase
from sqlalchemy.orm import Mapped
from sqlalchemy.orm import mapped_column
from sqlalchemy.orm import MappedAsDataclass
class Base(DeclarativeBase):
pass
@dataclasses.dataclass
class A:
some_other_field: int
some_field: int = dataclasses.field(default=5)
class B(MappedAsDataclass, Base):
__tablename__ = "b"
__allow_unmapped__ = True
id: Mapped[int] = mapped_column(primary_key=True, init=False)
some_other_field: int
some_field: int = dataclasses.field(default=5)
for cls in A, B:
assert "some_other_field" not in cls.__dict__
assert cls.__dict__["some_field"] == 5
Metadata
Metadata
Assignees
Type
Projects
Relationships
Development
No branches or pull requests
Activity
sqla-tester commentedon Nov 25, 2022
Mike Bayer has proposed a fix for this issue in the main branch:
WIP: annotated / DC forms for association proxy https://gerrit.sqlalchemy.org/c/sqlalchemy/sqlalchemy/+/4240
annotated / DC forms for association proxy