从另一个视图调用DRF视图



我有一个用户模型视图集,它将用户添加到我的Django Rest框架应用程序(VueJS ->DRF→PostGres)。

我有另一个ModelViewSet用于活动日志,当用户因进行培训而获得学分时,该日志具有条目。

我遇到了一个问题,我意识到一个什么都没做的用户会扭曲指标。为了解决这个问题,我只想在用户创建时向ActivityLog中插入一个Activity。

我怎么能调用一个ModelViewSet从新的用户帖子发布一个新的活动?

我读了几个似乎相似的问题,但我理解得不够好,无法翻译成我的问题。我只是想从新用户创建中获取ID,并将其与一些数据一起传递给ActivityLogViewset。

如果我在UserViewset中重写perform_create(),我将如何调用和传递数据到另一个端点?

编辑:好吧,所以我想我的视野(又窄了)。让事情变得更困难了。我只是覆盖了perform_create,导入了ActivityLog模型,并按我需要的方式创建了它的一个实例。似乎比创建一个新请求容易多了& &;调用端点。

谢谢。

BCBB

好吧,我想我(又)近视了。让事情变得更困难了。我只是覆盖了perform_create,导入了ActivityLog模型,并按我需要的方式创建了它的一个实例。似乎比创建一个新请求容易多了& &;调用端点。

class UserViewSet(viewsets.ModelViewSet):
queryset = User.objects.all().order_by('last_name')
serializer_class = UserSerializer
def perform_create(self, serializer):
super().perform_create(serializer)
user = serializer.instance
act_cat = ActivityCategory(pk=1)
act_desc = "You joined!"
act = ActivityLog(user=user, activity_category=act_cat, activity_description=act_desc)
act.save()

最新更新