Я работаю над Django React Project с использованием Django REST FRAMEWORK, я пытаюсь опубликовать некоторые данные, связанные с моей моделью.
Представление в виде списка и подробное представление проекта работает довольно хорошо, толькопроблема в том, что я пытаюсь сделать запрос POST.
Всякий раз, когда я пытаюсь опубликовать данные в CreateAPIView, я получаю сообщение об ошибке:
Got a `TypeError` when calling `Article.objects.create()`. This may be because
you have a writable field on the serializer class that is not a valid argument to
`Article.objects.create()`. You may need to make the field read-only, or override
the ArticleSerializer.create() method to handle this correctly.
Я искал различные прошлые проблемы, но неони, похоже, решают мою проблему.
Вот мой файл сериализаторов:
from rest_framework import serializers
from articles.models import Article
class ArticleSerializer(serializers.ModelSerializer):
class Meta:
model = Article
fields = ('id','title','content','star_count','like_count','comment_count','avatar')
Вот мой файл просмотров
from rest_framework.generics import ListAPIView,RetrieveAPIView,CreateAPIView,UpdateAPIView,DestroyAPIView
from .serializers import ArticleSerializer
from articles.models import Article
from rest_framework import viewsets
class ArticleViewSets(viewsets.ModelViewSet):
queryset = Article.objects.all()
serializer_class = ArticleSerializer
файл моделей
content = models.TextField()
comment_count = models.IntegerField(default=0,null=True,blank=True)
like_count = models.IntegerField(default=0,null=True,blank=True)
star_count = models.IntegerField(default=0,null=True,blank=True)
avatar = models.ImageField(null=True,blank=True)
def __str__(self):
return self.title
def save(self):
if not self.slug:
self.slug = slugify(self.title)
super(Article,self).save()
Вот ошибка, сгенерированная, когда я пытаюсь сделать запрос POST, основанный на остальной структуре django createAPIVew
Got a `TypeError` when calling `Article.objects.create()`. This may be because you have a writable field on the serializer class that is not a valid argument to `Article.objects.create()`. You may need to make the field read-only, or override the ArticleSerializer.create() method to handle this correctly.