我们说我有:
class ThingViewSet(viewsets.ModelViewSet):
...
@action(methods=['patch'], detail=True)
def append_some_items(self, request, pk=None):
...
@action(methods=['delete'], detail=True)
def remove_some_items(self, request, pk=None):
...
我想实现端点,以便在Thing.some_items中追加和删除项目;实现看起来像:
ddf.createOrReplaceTempView("TempItems")
然后,客户可以:
PATCH / things / 1 / add_some_items
DELETE / things / 1 / remove_some_items
指定[项目列表'请求正文中的ids]。
在DRF中构建此类端点是否有更明智的网址方案/实施?请注意,Thing可能有很多项目;因此,我不希望客户端通过指定Items ID的完整列表来修改Thing.some_items。