summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2009-01-13 15:38:38 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2009-01-13 15:38:38 +0000
commitb99bdc7cee1080e6fd86451c5def2410a697c0b9 (patch)
treeeb7bfe1e05ab6ffc4beaacd4b9ce7bbeff452849 /lib/sqlalchemy
parentb23f8c0f2efea544954e1f6cfcdf4931b2f57213 (diff)
downloadsqlalchemy-b99bdc7cee1080e6fd86451c5def2410a697c0b9.tar.gz
- Column with no name (as in declarative) won't raise a
NoneType error when it's string output is requsted (such as in a stack trace).
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/ext/declarative.py1
-rw-r--r--lib/sqlalchemy/schema.py9
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/sqlalchemy/ext/declarative.py b/lib/sqlalchemy/ext/declarative.py
index a5cb6e9d2..70f50622d 100644
--- a/lib/sqlalchemy/ext/declarative.py
+++ b/lib/sqlalchemy/ext/declarative.py
@@ -737,3 +737,4 @@ def _undefer_column_name(key, column):
column.key = key
if column.name is None:
column.name = key
+ util.reset_memoized(column, 'description') \ No newline at end of file
diff --git a/lib/sqlalchemy/schema.py b/lib/sqlalchemy/schema.py
index b8a36ebb5..792a7e923 100644
--- a/lib/sqlalchemy/schema.py
+++ b/lib/sqlalchemy/schema.py
@@ -617,9 +617,16 @@ class Column(SchemaItem, expression.ColumnClause):
else:
return self.description
+ @util.memoized_property
+ def description(self):
+ if not self.name:
+ return "(no name)"
+ else:
+ return self.name.encode('ascii', 'backslashreplace')
+
+ @property
def bind(self):
return self.table.bind
- bind = property(bind)
def references(self, column):
"""Return True if this Column references the given column via foreign key."""