Hi,
I'm trying to use get() with composite primary key like this:
class GroupPermissionService(BaseService):
@classmethod
def get(cls, group_id, perm_name, db_session=None):
db_session = get_db_session(db_session)
return db_session.query(cls.model).get([group_id, perm_name])
I'm using Python 3.5.1 with SQLAlchemy==1.0.12,
It seems that my tests fail on random when .get() returned nothing, I've
added print(cls.model.__mapper__.primary_key) to the body of my function to
see the order of primary keys and it appears that
the order can change between the runs, this is the output of print:
(Column('perm_name', Unicode(length=64), table=<groups_permissions>,
primary_key=True, nullable=False), Column('group_id', Integer(),
ForeignKey('groups.id'), table=<groups_permissions>, primary_key=True,
nullable=False))
(Column('group_id', Integer(), ForeignKey('groups.id'),
table=<groups_permissions>, primary_key=True, nullable=False),
Column('perm_name', Unicode(length=64), table=<groups_permissions>,
primary_key=True, nullable=False))
So my question is: is this a bug or am I trying to use this incorrectly and
I should somehow determine the order when application is loaded?
I would assume the order of keys should be deterministic in this scenario.
--
SQLAlchemy -
The Python SQL Toolkit and Object Relational Mapper
http://www.sqlalchemy.org/
To post example code, please provide an MCVE: Minimal, Complete, and Verifiable
Example. See http://stackoverflow.com/help/mcve for a full description.
---
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.