[{"non_field_errors":["Неверные данные. Ожидали словарь, а получили int."]}
Пытаюсь отправить сообщение в мой DRF API. Но я получаю следующую ошибку. В качестве фронт-энда я использую Vue.js. Я могу получать данные без проблем. Я просто не могу записать или создать новую запись.
[{"non_field_errors":["Invalid data. Expected a dictionary, but got int."]}
Модели:
class Interests(models.Model):
interest_name = models.CharField(max_length=50)
created_by = models.ForeignKey(User, on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return "Category name:" + "\n" + self.interest_name + "\n" + "|" + "\n" + "Created By:" + "\n" + self.created_by.username
class Project(models.Model):
project_title = models.CharField(max_length=255)
project_description = models.TextField(max_length=1500)
interest_category = models.ManyToManyField(Interests)
created_by = models.ForeignKey(User, on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return "Project name:" + "\n" + self.project_title + "\n" + "|" + "\n" + "Created By:" + "\n" + self.created_by.username
Просмотров:
class ProjectView(generics.RetrieveAPIView):
queryset = Project.objects.order_by('-created_at')
def get(self, request):
queryset = self.get_queryset()
serializer = ProjectsSerializer(queryset, many=True)
return Response(serializer.data)
def post(self, request):
if request.method == 'POST':
serializer = ProjectsSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return JsonResponse(serializer.data, status=201)
return JsonResponse(serializer.errors, status=400)
class ProjectCategory(generics.RetrieveAPIView):
queryset = Interests.objects.all()
def get(self, request):
queryset = self.get_queryset()
serializer = InterestSerializer(queryset, many=True)
return Response(serializer.data)
Serializer:
class InterestSerializer(serializers.ModelSerializer):
class Meta:
model = Interests
fields = ('id', 'interest_name')
class ProjectsSerializer(serializers.ModelSerializer):
interest_category = InterestSerializer(many=True)
class Meta:
model = Project
fields = ('project_title', 'project_description', 'interest_category', 'created_by', 'created_at', 'updated_at')
def create(self, validated_data):
return Project.objects.create(**validated_data)
Новичок в DRF, поэтому любая помощь будет высоко оценена.