Получил `TypeError` при вызове` Article.objects.create () ` - PullRequest
0 голосов
/ 03 ноября 2019

Я работаю над 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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...