[dak/master] Extend ORMObject.validate() to support _id columns.
It won't throw an exception if the numeric _id property is set instead the real
property.
Signed-off-by: Torsten Werner <twerner@debian.org>
---
daklib/dbconn.py | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/daklib/dbconn.py b/daklib/dbconn.py
index d81e1ed..fa52a91 100755
--- a/daklib/dbconn.py
+++ b/daklib/dbconn.py
@@ -262,6 +262,12 @@ class ORMObject(object):
validation fails.
'''
for property in self.not_null_constraints():
+ # TODO: It is a bit awkward that the mapper configuration allow
+ # directly setting the numeric _id columns. We should get rid of it
+ # in the long run.
+ if hasattr(self, property + '_id') and \
+ getattr(self, property + '_id') is not None:
+ continue
if not hasattr(self, property) or getattr(self, property) is None:
raise DBUpdateError(self.validation_message % \
(property, str(self)))
@@ -2239,7 +2245,8 @@ class DBSource(ORMObject):
'install_date']
def not_null_constraints(self):
- return ['source', 'version', 'install_date']
+ return ['source', 'version', 'install_date', 'maintainer', \
+ 'changedby', 'poolfile', 'install_date']
__all__.append('DBSource')
--
1.5.6.5
Reply to: