Thanks you Michael (i thought i remembered that the name attribute of the column wasn't set unless explicitely given to the Column constructor, the one thing i didn't check ... )
On Mar 26, 3:55 pm, Michael Bayer <[email protected]> wrote: > Column has a collection "foreign_keys", a collection since a column in a > relational database can have any number of foreign key constraints applied to > it. If this collection is non-empty, then that Column is associated with a > ForeignKey and thus a ForeignKeyConstraint (note that a ForeignKey is > ultimately an element in a larger ForeignKeyConstraint object). > > Not sure what you mean by the "name" - assuming you mean the name of the > column it refers to, ForeignKey has an accessor ".column" that will give you > the Column to which it refers to: > > http://docs.sqlalchemy.org/en/latest/core/schema.html?highlight=forei... > > That gives you the Column itself with a ".name" attribute. > > If by "name" you mean the name of the constraint itself, like for the > purposes of "ADD CONSTRAINT/DROP CONSTRAINT", the ForeignKey object of each > Column is by default unnamed - in relational DDL, you don't need to give > explicit names to FK constraints, the database will name these automatically. > So unless you give them a name, the name can't be determined on the Python > side. When reflecting a table, the ForeignKeyConstraint is reflected along > with the name, if the database supports giving us the name, and the name > should be associated with each associated ForeignKey object. > > On Mar 25, 2012, at 7:29 PM, lars van gemerden wrote: > > > > > > > > > Hello, > > > Does anyone know a way get the names of the foreign key columns of a > > table, if the table/class is unknown beforehand? > > > I tried with "Column.foreign_keys", which gives a set (why?) of > > "ForeignKey" objects but the "name" attribute of "ForeignKey" is not > > automatically set. > > > Cheers, Lars > > > -- > > You received this message because you are subscribed to the Google Groups > > "sqlalchemy" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]. > > For more options, visit this group > > athttp://groups.google.com/group/sqlalchemy?hl=en. -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.
