diff --git a/superset/views/core.py b/superset/views/core.py index 4e8f9bf08c8fe..1d8ddf9492836 100755 --- a/superset/views/core.py +++ b/superset/views/core.py @@ -998,6 +998,7 @@ def get_form_data(self, slice_id=None): # the form_data from the DB with the other form_data provided slice_id = form_data.get('slice_id') or slice_id slc = None + if slice_id: slc = db.session.query(models.Slice).filter_by(id=slice_id).first() slice_form_data = slc.form_data.copy() @@ -1122,10 +1123,10 @@ def generate_json(self, datasource_type, datasource_id, form_data, @expose('/slice_json/') def slice_json(self, slice_id): try: - viz_obj = self.get_viz(slice_id) - datasource_type = viz_obj.datasource.type - datasource_id = viz_obj.datasource.id - form_data, slc = self.get_form_data() + form_data, slc = self.get_form_data(slice_id) + datasource_type = slc.datasource.type + datasource_id = slc.datasource.id + except Exception as e: return json_error_response( utils.error_msg_from_exception(e),