理解View将用户添加到Django Group



我正试图了解视图/视图集atm,特别是将用户添加到DRF组。

到目前为止,我知道视图可以任意命名,并且可以直接放入views.py文件中——如果它们是相关的,有时也可以放入ViewSet中。我的主要问题是他们会自动被叫吗?我来自JS背景,所以我习惯于定义一个方法,然后显式地调用它。

以下是我的ViewSet代码,其中包含用于添加用户的通用代码:

class ActorViewSet(viewsets.ModelViewSet):
model = Actors
queryset = Actors.objects.all()
serializer_class = ActorSerializer
filter_backends = [DjangoFilterBackend]
filter_fields = ['firstname','ethnicity','user','id']
def add_to_group(self):
desired_group_name = request.GET.get("group_name")
my_group = Group.objects.get(name=desired_group_name)
my_group.user_set.add(your_user)

如果代码指定了关于发布请求的内容,那么在创建新的Actor时是否会调用add_to_group?

谢谢你的清理!:(

刚刚决定编写代码。

class ActorViewSet(viewsets.ModelViewSet):
model = Actors
queryset = Actors.objects.all()
serializer_class = ActorSerializer
filter_backends = [DjangoFilterBackend]
filter_fields = ['firstname','ethnicity','user','id']
def post(self, request):  # it was named "add_to_group"
desired_group_name = request.GET.get("group_name")
my_group = Group.objects.get(name=desired_group_name)
my_group.user_set.add(your_user)

return HttpResponse()  # Note, it must return something for browser

以下是一些有用的文档-https://docs.djangoproject.com/en/3.1/topics/class-based-views/mixins/#using-带视图的单对象混合

最新更新