Author: phd
Date: Tue Sep 27 09:51:24 2011
New Revision: 4458
Log:
delColumn now accepts a ForeignKey's name without 'ID'.
Modified:
SQLObject/trunk/docs/News.txt
SQLObject/trunk/docs/TODO.txt
SQLObject/trunk/sqlobject/main.py
Modified: SQLObject/trunk/docs/News.txt
==============================================================================
--- SQLObject/trunk/docs/News.txt Mon Sep 26 13:01:09 2011 (r4457)
+++ SQLObject/trunk/docs/News.txt Tue Sep 27 09:51:24 2011 (r4458)
@@ -16,6 +16,8 @@
* Strings are treated specially in Select to allow
Select(['id, 'name'], where='value = 42'). Update allows string in WHERE.
+* delColumn now accepts a ForeignKey's name without 'ID'.
+
* A bug caused by psycopg2 recently added a new boolean not callable
autocommit attribute was fixed.
Modified: SQLObject/trunk/docs/TODO.txt
==============================================================================
--- SQLObject/trunk/docs/TODO.txt Mon Sep 26 13:01:09 2011 (r4457)
+++ SQLObject/trunk/docs/TODO.txt Tue Sep 27 09:51:24 2011 (r4458)
@@ -4,8 +4,6 @@
* Allow to override ConsoleWriter/LogWriter classes and makeDebugWriter
function.
-* delColumn('foreignKey'), delColumn('foreignKeyID')
-
* ForeignKey('Table', otherColumn='other_id') to allow ForeignKey to
point to a non-id column.
Modified: SQLObject/trunk/sqlobject/main.py
==============================================================================
--- SQLObject/trunk/sqlobject/main.py Mon Sep 26 13:01:09 2011 (r4457)
+++ SQLObject/trunk/sqlobject/main.py Tue Sep 27 09:51:24 2011 (r4458)
@@ -450,7 +450,12 @@
sqlmeta = cls
soClass = sqlmeta.soClass
if isinstance(column, str):
- column = sqlmeta.columns[column]
+ if column in sqlmeta.columns:
+ column = sqlmeta.columns[column]
+ elif column+'ID' in sqlmeta.columns:
+ column = sqlmeta.columns[column+'ID']
+ else:
+ raise ValueError('Unknown column ' + column)
if isinstance(column, col.Col):
for c in sqlmeta.columns.values():
if column is c.columnDef:
|