Django Rest Framework CreateAPIView url主键应来自另一个模型,而不是受尊重的模型

Django Rest Framework CreateAPIView url主键应来自另一个模型,而不是受尊重的模型,django,django-rest-framework,django-views,Django,Django Rest Framework,Django Views,首先看一下我的模型: from django.contrib.auth.models import User class Group(models.Model): person = models.ManyToManyField( User, through='PersonGroup', related_name='person_of_the_group' ) class PersonGroup(models.Model):

首先看一下我的模型:

from django.contrib.auth.models import  User
class Group(models.Model):
    person = models.ManyToManyField(
        User,
        through='PersonGroup',
        related_name='person_of_the_group'
    )


class PersonGroup(models.Model):
    group = models.ForeignKey(
        Group,
        on_delete=models.CASCADE,
        related_name='group_person_of_group'
    )
    person = models.ForeignKey(
        User, 
        on_delete=models.CASCADE
    )
这是我的观点:

class AddGroupMembers(CreateAPIView):
    serializer_class = PersonGroupSerializers
    queryset = Group.objects.all()
    lookup_field = 'pk'

    def create(self, request, *args, **kwargs):
        # Make requst data mutable
        if not request.data._mutable:
            request.data._mutable = True

        request.data['person'] = request.user.pk
        request.data['group'] = kwargs['pk']
        serializer = PersonGrouperializers(data=request.data)
        serializer.is_valid(raise_exception=True)
        self.perform_create(serializer)
        headers = self.get_success_headers(serializer.data)
        return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
这是我的连载:

class PersonGroupSerializers(ModelSerializer):
    class Meta:
        model = PersonGroup
        fields = '__all__
我希望URL pk将是混乱pk

http://127.0.0.1:8000/mess/api/v1/mess/<int:mess.pk>/
http://127.0.0.1:8000/mess/api/v1/mess//
我希望当我到达端点时,我应该能够创建
PersonGroup
,如果您看到我的视图,您将知道我是如何填充此表的

我的意思是,端点url将由
Group
pk
中的任何一个标识,但在那里我应该能够
PersonGroup


希望你明白了,有人能告诉我如何做到这一点吗?

pk
只有在数据库中创建(保存)对象后才存在。我知道,但不是这样