У меня есть конечная точка REST.Когда я получаю доступ к этой конечной точке через графический интерфейс DRF, я могу вручную ввести свои данные, и она успешно работает.Моя модель выглядит следующим образом:
class Post(models.Model):
title = models.CharField(max_length=100, null=False)
content = HTMLField()
created_at = models.DateField(auto_now_add=True)
authors = models.ManyToManyField(User)
Мой сериализатор и представление выглядит следующим образом:
class CreatePostSerializer(CreateAPIView):
serializer_class = PostSerializer
class PostSerializer(serializers.ModelSerializer):
class Meta:
model = Post
fields = ('title', 'content', 'authors')
Когда я на самом деле пытаюсь передать свои данные через Ajax на конечную точку, вот так:
$.ajax({
type: 'POST',
url: '/api/save-post/',
data: {
"csrfmiddlewaretoken": getCookie('csrftoken'),
"title": "dasf",
"desct": "dasf",
"content": "fdasf",
"authors": [1,2]
},
success: function (msg) {
console.log(msg);
}
});
Я получаю сообщение об ошибке: {"authors":["This list may not be empty."]}
с отправкой полезной нагрузки:
title: dasf
desct: dasf
content: fdasf
authors[]: 1
Я попытался изменить contentType на application / json, я перепробовал почти всено похоже что ничего не работает.Как я могу сделать так, чтобы моя конечная точка понимала, что я посылаю?