parse_as_rest patch, thanks Denes
This commit is contained in:
@@ -1 +1 @@
|
|||||||
Version 2.4.1-alpha.2+timestamp.2013.01.13.13.14.47
|
Version 2.4.1-alpha.2+timestamp.2013.01.14.09.18.01
|
||||||
|
|||||||
+7
-3
@@ -7351,15 +7351,19 @@ def index():
|
|||||||
ref = tag[tag.find('[')+1:-1]
|
ref = tag[tag.find('[')+1:-1]
|
||||||
if '.' in ref and otable:
|
if '.' in ref and otable:
|
||||||
table,field = ref.split('.')
|
table,field = ref.split('.')
|
||||||
# print table,field
|
selfld = '_id'
|
||||||
|
if db[table][field].type.startswith('reference '):
|
||||||
|
refs = [ x.name for x in db[otable] if x.type == db[table][field].type ]
|
||||||
|
if refs:
|
||||||
|
selfld = refs[0]
|
||||||
if nested_select:
|
if nested_select:
|
||||||
try:
|
try:
|
||||||
dbset=db(db[table][field].belongs(dbset._select(db[otable]._id)))
|
dbset=db(db[table][field].belongs(dbset._select(db[otable][selfld])))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
return Row({'status':400,'pattern':pattern,
|
return Row({'status':400,'pattern':pattern,
|
||||||
'error':'invalid path','response':None})
|
'error':'invalid path','response':None})
|
||||||
else:
|
else:
|
||||||
items = [item.id for item in dbset.select(db[otable]._id)]
|
items = [item.id for item in dbset.select(db[otable][selfld])]
|
||||||
dbset=db(db[table][field].belongs(items))
|
dbset=db(db[table][field].belongs(items))
|
||||||
else:
|
else:
|
||||||
table = ref
|
table = ref
|
||||||
|
|||||||
Reference in New Issue
Block a user