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.

Reply via email to