2016-03-31 4 views
0

を使用してPOSTすることはできませんが、私は投稿しようとすると、私が手は、だから私は完全に罰金私のデータを取り出すことができるのREST API

{"detail":"Method \"POST\" not allowed."} 

views.py

class ClubFullList(generics.ListAPIView): 
    serializer_class = ClubSerializer 

    def get_queryset(self): 
     return Club.objects.all() 

class ClubList(generics.ListAPIView): 
    serializer_class = ClubSerializer 

    def get_queryset(self): 
     username = self.kwargs['username'] 
     return Club.objects.filter(abv=username) 

models.py

class Club(models.Model): 
     name = models.CharField(max_length=255) 
     abv = models.CharField(max_length=255) 

serializers.py

class ClubSerializer(serializers.HyperlinkedModelSerializer): 
    class Meta: 
     model = Club 
     fields = ['name', 'abv'] 

どうすればこの問題を解決できますか?

答えて

3

POSTリクエストはエンドポイントでのみ許可されますGETリクエストしています。

ListAPIViewは、読み取り専用一般ビューです。 POST要求を使用してモデルオブジェクトを作成するには、CreateAPIViewまたはListCreateAPIViewを使用します。 the docs for ListApiViewから

1

に使用さ

読み取り専用エンドポイントをモデルインスタンスのコレクションを表現するために。

エンドポイントに投稿する場合は、別のビュークラスを使用する必要があります。

関連する問題