def fn_create(): """Creates a new resource and returns it.""" if request.method == "OPTIONS": return request_doc = json.loads(request.body.getvalue()) JsonAPIValidator.validate_create(request_doc, self.model._meta.name) self.listener.before_create(request) attributes = {} if "attributes" in request_doc["data"]: attributes = request_doc["data"]["attributes"] if "relationships" in request_doc["data"]: for k, dat in request_doc["data"]["relationships"].iteritems(): attributes[k] = dat["data"]["id"] if "id" in request_doc["data"]: primary = self.model._meta.primary_key.name attributes[primary] = request_doc["data"]["id"] created = self.model.create(**attributes) self.listener.after_create(created) response.set_header( "Location", "{}/{}".format(request.url, util.get_primary_key(created))) return self.__get(util.get_primary_key(created))
def fn_create(): """Creates a new resource and returns it.""" if request.method == "OPTIONS": return request_doc = json.loads(request.body.getvalue()) JsonAPIValidator.validate_create( request_doc, self.model._meta.name ) self.listener.before_create(request) attributes = {} if "attributes" in request_doc["data"]: attributes = request_doc["data"]["attributes"] if "relationships" in request_doc["data"]: for k, dat in request_doc["data"]["relationships"].iteritems(): attributes[k] = dat["data"]["id"] if "id" in request_doc["data"]: primary = self.model._meta.primary_key.name attributes[primary] = request_doc["data"]["id"] created = self.model.create(**attributes) self.listener.after_create(created) response.set_header("Location", "{}/{}".format( request.url, util.get_primary_key(created)) ) return self.__get(util.get_primary_key(created))