fixing name conflict

This commit is contained in:
Blake Eggleston
2012-11-24 17:37:57 -08:00
parent 2cbf582b0d
commit 67dd9151a9

View File

@@ -77,12 +77,12 @@ class ModelMetaClass(type):
"""
#move column definitions into columns dict
#and set default column names
columns = OrderedDict()
column_dict = OrderedDict()
primary_keys = OrderedDict()
pk_name = None
def _transform_column(col_name, col_obj):
columns[col_name] = col_obj
column_dict[col_name] = col_obj
if col_obj.primary_key:
primary_keys[col_name] = col_obj
col_obj.set_column_name(col_name)
@@ -115,7 +115,7 @@ class ModelMetaClass(type):
#check for duplicate column names
col_names = set()
for v in columns.values():
for v in column_dict.values():
if v.db_field_name in col_names:
raise ModelException("{} defines the column {} more than once".format(name, v.db_field_name))
col_names.add(v.db_field_name)
@@ -131,11 +131,11 @@ class ModelMetaClass(type):
#create db_name -> model name map for loading
db_map = {}
for field_name, col in columns.items():
for field_name, col in column_dict.items():
db_map[col.db_field_name] = field_name
#add management members to the class
attrs['_columns'] = columns
attrs['_columns'] = column_dict
attrs['_primary_keys'] = primary_keys
attrs['_db_map'] = db_map
attrs['_pk_name'] = pk_name