removed automatic orderby on db.table[id] expression and db.table(id) call

This commit is contained in:
Michele Comitini
2013-05-31 15:55:52 +02:00
parent dd97b9c8dd
commit ad1d414485
+4 -4
View File
@@ -8427,7 +8427,7 @@ class Table(object):
return rows[0]
return None
elif str(key).isdigit() or 'google' in DRIVERS and isinstance(key, Key):
return self._db(self._id == key).select(limitby=(0,1)).first()
return self._db(self._id == key).select(limitby=(0,1), orderby_on_limitby=False).first()
elif key:
return ogetattr(self, str(key))
@@ -8441,19 +8441,19 @@ class Table(object):
if not key is DEFAULT:
if isinstance(key, Query):
record = self._db(key).select(
limitby=(0,1),for_update=for_update, orderby=orderby).first()
limitby=(0,1),for_update=for_update, orderby=orderby, orderby_on_limitby=False).first()
elif not str(key).isdigit():
record = None
else:
record = self._db(self._id == key).select(
limitby=(0,1),for_update=for_update, orderby=orderby).first()
limitby=(0,1),for_update=for_update, orderby=orderby, orderby_on_limitby=False).first()
if record:
for k,v in kwargs.iteritems():
if record[k]!=v: return None
return record
elif kwargs:
query = reduce(lambda a,b:a&b,[self[k]==v for k,v in kwargs.iteritems()])
return self._db(query).select(limitby=(0,1),for_update=for_update, orderby=orderby).first()
return self._db(query).select(limitby=(0,1),for_update=for_update, orderby=orderby, orderby_on_limitby=False).first()
else:
return None