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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
from __future__ import annotations
from typing import Any
from typing import Dict
from sqlalchemy import Column
from sqlalchemy import insert
from sqlalchemy import Integer
from sqlalchemy import MetaData
from sqlalchemy import select
from sqlalchemy import String
from sqlalchemy import Table
from sqlalchemy import update
from sqlalchemy.orm import DeclarativeBase
from sqlalchemy.orm import Mapped
from sqlalchemy.orm import mapped_column
class Base(DeclarativeBase):
pass
user_table = Table(
"user",
MetaData(),
Column("id", Integer, primary_key=True),
Column("data", String),
)
class User(Base):
__tablename__ = "user"
id: Mapped[int] = mapped_column(primary_key=True)
name: Mapped[str]
data: Mapped[str]
# test #9376
d1: dict[str, Any] = {}
stmt1 = insert(User).values(d1)
d2: Dict[str, Any] = {}
stmt2 = insert(User).values(d2)
d3: Dict[Column[str], Any] = {}
stmt3 = insert(User).values(d3)
stmt4 = insert(User).from_select(
[User.id, "name", User.__table__.c.data],
select(User.id, User.name, User.data),
)
# test #10353
stmt5 = update(User).values({User.id: 123, User.data: "value"})
stmt6 = user_table.update().values(
{user_table.c.d: 123, user_table.c.data: "value"}
)
|