0
おはよう!
django rest detail_routeテスト
class PostView(viewsets.ModelViewSet):
queryset = Post.objects.all()
serializer_class = PostSerializer
@detail_route(methods=['POST'])
def like(self, request, pk=None):
post = self.get_object()
post.like(request.user)
return Response({'result': 'success'})
ので、like
機能のURLが
のような/ API /ポスト/ {ID} /である私は、このようなdjango.test.TestCase
でそれをテストしてみてください:
私はこのようなdetail_routeとの見解を持っています
post = Post.objects.first()
url = reverse('api:post-detail', args=[post.id])
url = urljoin(url, 'like')
response = self.client.post(url, content_type='application/json', follow=True)
私は、コード300リダイレクトを得るためfollow=True
を使用する必要がありますが、私はPOSTを必要とするとき、私は、要求をGET返すリダイレクト。 私はAPIClient
とAPIRequestFactory
を試してみましたが、同じエラーが出ましたかmyapp.models.DoesNotExist
タンクが注目に値する!
ありがとうございます!私は注意を払わずにドキュメントを読んだと思う。 –