rest.data.abstract_views

REST abstract views for the data API

class rest.data.abstract_views.AbstractExecuteLocalQueryView(**kwargs)

Bases: rest_framework.views.APIView

build_query(query, templates, options)

Build the raw query

Parameters:
  • query – Query
  • templates – List of template
  • options – Query option
Returns:

The raw query

build_response(data_list)

Build the paginated response.

Parameters:data_list – List of data.
Returns:The response
execute_query()

Compute and return query results

execute_raw_query(raw_query)

Execute the raw query in database

Parameters:raw_query – Query to execute
Returns:Results of the query
get(request)

Execute query on local instance and return results

Parameters:
  • get all results (#) –
  • {"query" – “{}”}
  • get all results
  • {"query" – “{}”, “all”: “true”}
  • get all results filtered by templates (#) –
  • {"query" – “{}”, “templates”: “[{“id”:”[template_id]”}]”}
  • get all results that verify a given criteria (#) –
  • {"query" – “{“root.element.value”: 2}”}
  • get results using multiple options (#) –
  • {"query" – “{“root.element.value”: 2}”, “templates”: “[{“id”:”template_id”}]”, “all”: “true”}

Warning

Need to backslash double quotes in JSON payload

Parameters:request – HTTP request
Returns:
200
content: List of data
  • code: 400 content: Bad request
  • code: 500 content: Internal server error
Return type:
  • code
post(request)

Execute query on local instance and return results

Parameters:{"query" – “{“$or”: [{“image.owner”: “Peter”}, {“image.owner.#text”:”Peter”}]}”}

Warning

Need to backslash double quotes in JSON payload

Parameters:request
Returns:
200
content: List of data
  • code: 400 content: Bad request
  • code: 500 content: Internal server error
Return type:
  • code
sub_document_root = 'dict_content'