]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
generalize composite bulk insert to hybrids
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 3 Apr 2025 14:36:28 +0000 (10:36 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 10 Jul 2025 21:11:22 +0000 (17:11 -0400)
commit333fa0ec15187bb7a726262e5630fe79323c46a1
treee355fb7db3ccbf2a3c8accdf202d944468ea4ef4
parent89b81ec8c45fae34214657cf46bbc9df158a676a
generalize composite bulk insert to hybrids

Added new hybrid method :meth:`.hybrid_property.bulk_insert_setter` which
works in a similar way as :meth:`.hybrid_property.update_expression` for
bulk ORM operations.  A user-defined class method can now populate a bulk
insert mapping dictionary using the desired hybrid mechanics.   New
documentation is added showing how both of these methods can be used
including in combination with the new :func:`_sql.from_dml_column`
construct.

Fixes: #12496
Change-Id: I39f6793538f14314e0147765fa2d780b7c99493e
12 files changed:
doc/build/changelog/migration_21.rst
doc/build/changelog/unreleased_21/12496.rst
lib/sqlalchemy/ext/hybrid.py
lib/sqlalchemy/orm/attributes.py
lib/sqlalchemy/orm/bulk_persistence.py
lib/sqlalchemy/orm/descriptor_props.py
lib/sqlalchemy/orm/interfaces.py
lib/sqlalchemy/orm/mapper.py
lib/sqlalchemy/sql/_elements_constructors.py
lib/sqlalchemy/sql/base.py
lib/sqlalchemy/sql/expression.py
test/ext/test_hybrid.py