From 29251675503271fc700a6f7655157850e2de426d Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Thu, 17 May 2012 11:45:05 -0400 Subject: - [feature] The "deferred declarative reflection" system has been moved into the declarative extension itself, using the new DeferredReflection class. This class is now tested with both single and joined table inheritance use cases. [ticket:2485] - [bug] The autoload_replace flag on Table, when False, will cause any reflected foreign key constraints which refer to already-declared columns to be skipped, assuming that the in-Python declared column will take over the task of specifying in-Python ForeignKey or ForeignKeyConstraint declarations. --- lib/sqlalchemy/engine/reflection.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'lib/sqlalchemy/engine') diff --git a/lib/sqlalchemy/engine/reflection.py b/lib/sqlalchemy/engine/reflection.py index 13a7e1b88..3a12819f1 100644 --- a/lib/sqlalchemy/engine/reflection.py +++ b/lib/sqlalchemy/engine/reflection.py @@ -431,6 +431,9 @@ class Inspector(object): for fkey_d in fkeys: conname = fkey_d['name'] constrained_columns = fkey_d['constrained_columns'] + if exclude_columns and set(constrained_columns).intersection( + exclude_columns): + continue referred_schema = fkey_d['referred_schema'] referred_table = fkey_d['referred_table'] referred_columns = fkey_d['referred_columns'] -- cgit v1.2.1