def get_json_data(self, context, **kwargs): if len(kwargs) > 0: context = dict(context, **kwargs) obj_name = self.get_context_object_name() try: context[obj_name] = sqlalchemy_orm_to_dict(context[obj_name]) except RuntimeError: log.error("%r is not JSON serializable" % (context[obj_name])) context[obj_name] = dict return json.dumps(context, default=str)
def get(self, *args, **kwargs): super().get(*args, **kwargs) try: context = self.get_context_data(**kwargs) obj_name = self.get_context_object_name() context[obj_name] = sqlalchemy_orm_to_dict(context[obj_name]) return self.render_json(context) except (RuntimeError, DatabaseObjectNotFound) as e: log.debug(str(e)) return self.render_json_error(errors=[str(e)]) except Exception as e: log.error(str(e)) return self.render_json_error( errors=['Something really bad happens..'] )
def get_json_data(self, context, **kwargs): if len(kwargs) > 0: context = dict(context, **kwargs) obj_name = self.get_context_object_name() new_data = [] if context["is_paginated"]: context["page_obj"] = context["page_obj"].as_dict if type(context[obj_name]) == list: for item in context[obj_name]: try: new_data.append(sqlalchemy_orm_to_dict(item)) except RuntimeError: log.error("%r is not JSON serializable" % (item)) context[obj_name] = new_data return json.dumps(context, default=str)
def get_json_data(self, context, **kwargs): if len(kwargs) > 0: context = dict(context, **kwargs) if 'form' in context and context['form'] is not None: form_html = '' for item in context['form']: form_html += str(item) context['form'] = form_html obj_name = self.get_context_object_name() if obj_name in context: try: context[obj_name] = sqlalchemy_orm_to_dict(context[obj_name]) except RuntimeError: log.error("%r is not JSON serializable" % (context[obj_name])) context[obj_name] = dict return json.dumps(context, default=str)
def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) self.form_initial = sqlalchemy_orm_to_dict(context[self.get_context_object_name()]) form_class = self.get_form_class() context['form'] = self.get_form(form_class) return context