@@ -195,6 +195,10 @@ def _get_array(self,key):
195195 if not owner_filtered :
196196 return json ({"code" :400 ,"msg" :"'%s' cannot filter with owner" % (modelname )})
197197
198+ for n in model_param :
199+ if n [0 ]!= "@" and hasattr (model ,n ):
200+ q = q .filter (getattr (model .c ,n )== model_param [n ])
201+
198202 if query_type in [1 ,2 ]:
199203 self .vars ["/%s/total" % (key )] = q .count ()
200204
@@ -334,10 +338,11 @@ def _post_one(self,key,tag):
334338 return json ({"code" :400 ,"msg" :"model '%s' not found" % (modelname )})
335339
336340 request_tag = settings .APIJSON_REQUESTS .get (tag ,{})
337- request_tag_tag = request_tag .get (tag ,{})
338- if not request_tag_tag :
341+ _model_name = request_tag .get ("@model_name" ) or tag
342+ request_tag_config = request_tag .get (_model_name ,{})
343+ if not request_tag_config :
339344 return json ({"code" :400 ,"msg" :"tag '%s' not found" % (tag )})
340- tag_POST = request_tag_tag .get ("POST" ,{})
345+ tag_POST = request_tag_config .get ("POST" ,{})
341346 ADD = tag_POST .get ("ADD" )
342347 if ADD :
343348 ADD_role = ADD .get ("@role" )
@@ -435,11 +440,13 @@ def _put_one(self,key,tag):
435440 log .error ("try to find model '%s' but not found: '%s'" % (modelname ,e ))
436441 return json ({"code" :400 ,"msg" :"model '%s' not found" % (modelname )})
437442
438- request_tag = settings .APIJSON_REQUESTS .get (tag ,{})
439- request_tag_tag = request_tag .get (tag ,{})
440- if not request_tag_tag :
443+ APIJSON_REQUESTS = settings .APIJSON_REQUESTS or {}
444+ request_tag = APIJSON_REQUESTS .get (tag ,{})
445+ _model_name = request_tag .get ("@model_name" ) or tag
446+ request_tag_config = request_tag .get (_model_name ,{})
447+ if not request_tag_config :
441448 return json ({"code" :400 ,"msg" :"tag '%s' not found" % (tag )})
442- tag_PUT = request_tag_tag .get ("PUT" ,{})
449+ tag_PUT = request_tag_config .get ("PUT" ,{})
443450 ADD = tag_PUT .get ("ADD" )
444451 if ADD :
445452 ADD_role = ADD .get ("@role" )
@@ -537,10 +544,11 @@ def _delete_one(self,key,tag):
537544 return json ({"code" :400 ,"msg" :"model '%s' not found" % (modelname )})
538545
539546 request_tag = settings .APIJSON_REQUESTS .get (tag ,{})
540- request_tag_tag = request_tag .get (tag ,{})
541- if not request_tag_tag :
547+ _model_name = request_tag .get ("@model_name" ) or tag
548+ request_tag_config = request_tag .get (_model_name ,{})
549+ if not request_tag_config :
542550 return json ({"code" :400 ,"msg" :"tag '%s' not found" % (tag )})
543- tag_DELETE = request_tag_tag .get ("DELETE" ,{})
551+ tag_DELETE = request_tag_config .get ("DELETE" ,{})
544552 ADD = tag_DELETE .get ("ADD" )
545553 if ADD :
546554 ADD_role = ADD .get ("@role" )
0 commit comments