def ready(self): super().ready() if 'runserver' not in sys.argv: return True else: from products.serializers import ProductSerializer call_command('migrate', app_label='products', verbosity=0, interactive=True, database='default') call_command('dumpdata', 'products', output='products.json', verbosity=0, database='storage', format='json') if os.path.exists('products.json'): with open('products.json', 'r') as myfile: data=json.loads(myfile.read()) for item in data: if item['model'] == 'products.product': serializer = ProductSerializer(data=item['fields']) if serializer.is_valid(): serializer.save_to_memory(item['fields']) else: print(serializer.errors)
def create(self, request): """Create new product""" serializer = ProductSerializer(data=request.data) if serializer.is_valid(): if request.META['SERVER_NAME'] == "testserver": serializer.save_to_memory(serializer.data) else: serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)