def post(self, request, *args, **kwargs): """ Download model fixture """ serializer = DumpFixtureSerializer(data=request.data) if not serializer.is_valid(): return Response('Data is not valid') form_data = serializer.data file_name = form_data.pop('file_name') json_data = get_model_fixture_dump(**form_data) return download(json_data, file_name)
def post(self, request, *args, **kwargs): form = self.form_class(request.POST) if not form.is_valid(): return self.json_response(form.errors, status=400) form_data = form.cleaned_data file_name = form_data.pop('file_name') try: json_data = get_model_fixture_dump(**form_data) except Exception as e: tb = traceback.format_exc() error = 'Wrong app name/model name or filter options, see details:' \ '<br/>{}<br/>{}'.format(str(e), tb) return self.json_response({'app_name': [error]}, status=400) return download(json_data, file_name)