[SQL-CVS] r4458 - in SQLObject/trunk: docs sqlobject
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: <sub...@co...> - 2011-09-27 15:51:37
|
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: |