0
PATCH要求用に複数のエンドポイントを作成したいと思います。DRF - PATCH要求用に複数のエンドポイントを作成する
たとえば、
class CityViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows city to be viewed or edited.
"""
authentication_classes = (TokenAuthentication,)
permission_classes =()
queryset = City.objects.filter(active=True)
serializer_class = CitySerializer
class CitySerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = City
fields = ('id', 'name', 'is_metro', 'is_village', 'active')
def update(self, instance, validated_data):
for attr, value in validated_data.items():
if not isinstance(value, (list,dict)):
setattr(instance, attr, value)
instance.save()
return instance
urls.py
router = routers.DefaultRouter()
router.register(r'city', CityViewSet)
は、私は最終的にのみ、このビューセットのPATCHリクエストに行く複数のルータを作成できますか?更新メソッドでは、URLに基づいて、私は何をすべきかを決定します。
私はそこにbase_nameを追加することができます。しかし、私がすれば、すべてのメソッドがそこにあり、私はパッチメソッドが欲しいだけです。また、私は/ view_nameのupdateメソッドでbase_nameの接頭辞を取得したいと思います。あなたはこのように、次に行うことができます – Anuj
: ルータ= routers.DefaultRouter() router.register(r'city 'CityViewSet) router.register(r'town'、CityViewSet.as_view({ 'パッチ': 'partial_updateを'}))。回答を更新します –
私のビューでURLにアクセスするにはどうすればいいですか? – Anuj