trying to fix some speed issues
This commit is contained in:
+11
-9
@@ -7049,14 +7049,14 @@ class Row(object):
|
|||||||
|
|
||||||
__getattr__ = __getitem__
|
__getattr__ = __getitem__
|
||||||
|
|
||||||
def __getattribute__(self, key):
|
# def __getattribute__(self, key):
|
||||||
try:
|
# try:
|
||||||
return object.__getattribute__(self, key)
|
# return object.__getattribute__(self, key)
|
||||||
except AttributeError, ae:
|
# except AttributeError, ae:
|
||||||
try:
|
# try:
|
||||||
return self.__get_lazy_reference__(key)
|
# return self.__get_lazy_reference__(key)
|
||||||
except:
|
# except:
|
||||||
raise ae
|
# raise ae
|
||||||
|
|
||||||
def __eq__(self,other):
|
def __eq__(self,other):
|
||||||
try:
|
try:
|
||||||
@@ -10180,13 +10180,15 @@ class LazyReferenceGetter(object):
|
|||||||
def __init__(self, table, id):
|
def __init__(self, table, id):
|
||||||
self.db, self.tablename, self.id = table._db, table._tablename, id
|
self.db, self.tablename, self.id = table._db, table._tablename, id
|
||||||
def __call__(self, other_tablename):
|
def __call__(self, other_tablename):
|
||||||
|
if self.db._lazy_tables is False:
|
||||||
|
raise AttributeError()
|
||||||
table = self.db[self.tablename]
|
table = self.db[self.tablename]
|
||||||
other_table = self.db[other_tablename]
|
other_table = self.db[other_tablename]
|
||||||
for rfield in table._referenced_by:
|
for rfield in table._referenced_by:
|
||||||
if rfield.table == other_table:
|
if rfield.table == other_table:
|
||||||
return LazySet(rfield, self.id)
|
return LazySet(rfield, self.id)
|
||||||
|
|
||||||
return None
|
raise AttributeError()
|
||||||
|
|
||||||
class LazySet(object):
|
class LazySet(object):
|
||||||
def __init__(self, field, id):
|
def __init__(self, field, id):
|
||||||
|
|||||||
Reference in New Issue
Block a user