why don’t you set up your PrimaryKeyConstraint directly?
class AbstractPK(NameByClass):
""" this table defines a frequently used composite primary key """
@declared_attr
def key1(cls):
return Column(ForeignKey("somekey.keypart1"), primary_key=True)
@declared_attr
def key2(cls):
return Column(ForeignKey("anotherkey.keypart2"), primary_key=True)
key3 = Column( Integer, primary_key=True )
@declared_attr
def __table_args__(self):
return (
PrimaryKeyConstraint('key1', 'key2', 'key3'),
)
Sven Teresniak <[email protected]> wrote:
>
> Am Freitag, 2. Juli 2010 02:24:05 UTC+2 schrieb Michael Bayer:
> The Column object contains a "sort key" when constructed, against a single
> global value, that is used as a sort key when the Table is generated. This
> is to get around the fact that the attribute dictionary of the declarative
> class is unordered.
>
> The mixin columns should copy their "sort key" over, or it should somehow be
> tailored in the declarative base so that the order of the two columns stays
> relatively the same, and perhaps is also tailored to be at the same position
> relative to the other columns in the ultimate table.
>
> I'd welcome any patches in this regard since I don't usually deal with the
> "mixin" feature.
>
> Is there any simple way to modify/set this "sort key" or is there any way for
> me to workaround this random ordering in the class dict? Or to simple inspect
> the ordering to generate code that re-orders my primary composite key parts
> accordingly?
>
> Thanks
> Sven
>
> --
> 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]
> <mailto:[email protected]>.
> To post to this group, send email to [email protected]
> <mailto:[email protected]>.
> Visit this group at http://groups.google.com/group/sqlalchemy
> <http://groups.google.com/group/sqlalchemy>.
> For more options, visit https://groups.google.com/d/optout
> <https://groups.google.com/d/optout>.
--
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 http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.