(Rest Framework, Django) __init __ () принимает 1 позиционный аргумент, но 2 были даны - PullRequest
0 голосов
/ 13 апреля 2020

Я пытаюсь создать новый файл API с django -rest-framework и использовать сериализаторы, но по какой-то причине я продолжаю получать эту ошибку, даже если я делаю все точно так же, как учебные пособия (да, я пробовал более одного, и все они приводят к одной и той же ошибке).

моя базовая c модель (Models.py @blog):

class BlogPost(models.Model):
    title=models.CharField(max_length=12)
    description=models.TextField()
    name=models.IntegerField(default=0)

    def __str__(self):
        return self.title

Serializers.py @ blog.api:

class BlogPostserializer(serializers.ModelSerializer):

    class Meta:
        model=BlogPost
        fields=('title','description','name')

viewsets.py @ blog.api

class BlogPostView(viewsets.ModelViewSet):
    queryset=BlogPost.objects.all()
    serializer_class= BlogPostserializer

Заранее спасибо.

1 Ответ

0 голосов
/ 13 апреля 2020

Ответ: Очевидно, это как-то связано с файлом urls.py. Я переключился на использование «views» вместо «viewsets», сделал некоторые изменения в моем views.py и добавил «.as_view ()» в мой urls.py, и это сработало (я все еще немного растерялся, но по крайней мере это работает сейчас):

urlpatterns=[
    path('',views.BlogpostView**.as_view()**,name='UserList'),
]
...