Define views, serializers and routers as the PumpWood format
Extends Django and Rest FrameWork exceptions in order to give a better detail over model miss-especification and permit serialization of the error data to facilitate front-end debug.
Add “pumpwood_viewutils” to your Django INSTALLED_APPS setting like this:
INSTALLED_APPS = [ ... 'pumpwood_viewutils', ]
Each model exposed by a PumpWood View have nine basic end-poitns exposed througth PumpWood router.
Returns a list of objects acording with the filter dict passed as msg body. List is retricted with the maximum length defined on REST_FRAMEWORK[[‘PAGINATE_BY’]]
Returns a list of objects acording with the filter dict passed as msg body, but without length limit
Returns the object as a dictionary, serialized by retrive_serializer. Usualy, when an object is retrieved it have more information than when it is listed.
Delete de object. For security reason, the url is maped but the code for deleting the object is not implemented (it raises an error, must be overrided).
Save and updates an object acording to msg body dictionary. If msg body have a pk the object with this pk will be updated, other wise it will be created
List Class functions that have been marked with @rest_function wrapper. Returns a list with the path of the action, a short description, an indication for an icon to be used in the front end and necessary parameter, optional parameter and what the function will return.
Execute an action over an object, if pk was filled, or a class method. Returns a dictionary with the results, the action name, parameters used in the action and the object on which the action was performed.
Return options to be user in dropdowns and other filter to be used in the search of the object.
List the options on the object creation according to parcial filment of the object.
This project is on beta phase, use it with carefull.