I'm using django-rest-framework. I can't understand why the error occurred. I am trying to save the queryset json. But it doesn't work. My queryset json is as below. I'm sorry for the misalignment.
{
"data": [
{
"code": "123",
"name": "hi",
"cnt": "3",
"construction":"123",
"listedDate":"20171112",
"lastPrice":"123",
"state":"123",
"token":"ff35885ab6c63290ccdf60b80a9b37769e287ec5"
},
{
"code": "123",
"name": "hi2",
"cnt": "3",
"construction":"123",
"listedDate":"20171112",
"lastPrice":"123",
"state":"123",
"token":"ff35885ab6c63290ccdf60b80a9b37769e287ec5"
},
{
"code": "123",
"name": "hi3",
"cnt": "3",
"construction":"123",
"listedDate":"20171112",
"lastPrice":"123",
"state":"123",
"token":"ff35885ab6c63290ccdf60b80a9b37769e287ec5"
}
]
}
My Model
class Stock(models.Model):
code = models.CharField(max_length=20)
name = models.CharField(max_length=30)
cnt = models.BigIntegerField()
construction = models.CharField(max_length=20)
listedDate = models.DateTimeField()
lastPrice = models.CharField(max_length=10)
state = models.CharField(max_length=20)
token = models.CharField(max_length=50,validators=[validate_token])
class Meta:
db_table = 'stock'
def __str__(self):
return self.name
This is my Viewset
from requests import Response
from rest_framework import viewsets, status
from . import models, serializers
class StockViewset(viewsets.ModelViewSet):
queryset = models.Stock.objects.all()
serializer_class = serializers.StockSerializer
def create(self, request, *args, **kwargs):
stock_data = request.data.get("data")
serializer = self.get_serializer(data=stock_data,many=True)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
headers = self.get_success_headers(serializer.data)
print(serializer.data)
return Response(serializer.data,status=status.HTTP_201_CREATED,headers=headers)
def perform_create(self, serializer):
serializer.save()
and my serializers
from rest_framework import serializers
from .models import Stock
class StockSerializer(serializers.ModelSerializer):
listedDate = serializers.DateTimeField(format="%Y-%m-%d",input_formats=['%Y%m%d'])
class Meta:
model = Stock
fields = '__all__'
Even if there is no solution for the above, I would like you to tell me how to save json queryset.