summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2018-04-06 11:39:15 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2018-04-09 09:15:52 -0400
commit036cdbe7fb2d651ba5fbbc758c8584df011c8043 (patch)
tree651aa5734525e5784a0f879b7752cbfd45fa4922 /doc
parent5abeee69e34d45796cdff0770f58f9104da74701 (diff)
downloadsqlalchemy-036cdbe7fb2d651ba5fbbc758c8584df011c8043.tar.gz
Raise informative exception for non-sortable PK
An informative exception is re-raised when a primary key value is not sortable in Python during an ORM flush under Python 3, such as an ``Enum`` that has no ``__lt__()`` method; normally Python 3 raises a ``TypeError`` in this case. The flush process sorts persistent objects by primary key in Python so the values must be sortable. Change-Id: Ia186968982dcd1234b82f2e701fefa2a1668a7e4 Fixes: #4232
Diffstat (limited to 'doc')
-rw-r--r--doc/build/changelog/unreleased_13/4232.rst10
1 files changed, 10 insertions, 0 deletions
diff --git a/doc/build/changelog/unreleased_13/4232.rst b/doc/build/changelog/unreleased_13/4232.rst
new file mode 100644
index 000000000..176650afd
--- /dev/null
+++ b/doc/build/changelog/unreleased_13/4232.rst
@@ -0,0 +1,10 @@
+.. change::
+ :tags: bug, orm
+ :tickets: 4232
+
+ An informative exception is re-raised when a primary key value is not
+ sortable in Python during an ORM flush under Python 3, such as an ``Enum``
+ that has no ``__lt__()`` method; normally Python 3 raises a ``TypeError``
+ in this case. The flush process sorts persistent objects by primary key
+ in Python so the values must be sortable.
+