def POST(self, *args, **kwargs): try: inp = json.load(cp.request.body) except ValueError: raise cp.HTTPError('400', 'Malformed JSON') init_model() s = Session() try: m = self.Model.from_data(inp, s) except ValueError as e: raise cp.HTTPError(400, 'Bad input: %s' % e.args[0]) s.add(m) s.commit() return json.dumps({'id': m.id})