]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
base all_orm_descriptors ordering on cls.__dict__ + cls.__mro__
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 6 Aug 2020 19:53:17 +0000 (15:53 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 6 Aug 2020 21:12:58 +0000 (17:12 -0400)
commit9a3fee2cb6b608eb5c0263cf5a7e9085f74f2e73
tree7cf047100c3961588c08d04fac863b250dfb4635
parentf1626c784efc800a912a815085b9bac609c0d1cb
base all_orm_descriptors ordering on cls.__dict__ + cls.__mro__

Adjusted the workings of the :meth:`_orm.Mapper.all_orm_descriptors`
accessor to represent the attributes in the order that they are located in
a deterministic way, assuming the use of Python 3.6 or higher which
maintains the sorting order of class attributes based on how they were
declared.   This sorting is not guaranteed to match the declared order of
attributes in all cases however; see the method documentation for the exact
scheme.

Fixes: #5494
Change-Id: I6ee8d4ace3eb8b3f7c9c0f2a3d7e27b5f62abfd3
doc/build/changelog/unreleased_13/5494.rst [new file with mode: 0644]
lib/sqlalchemy/orm/instrumentation.py
lib/sqlalchemy/orm/mapper.py
lib/sqlalchemy/testing/requirements.py
test/orm/test_inspect.py