Сначала посмотрите мои модели:
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>/
Я хочу, чтобы когда я достиг конечной точки, я смог создать PersonGroup
, где, если вы увидите мои представления, вы узнаете, как я заполняю эту таблицу. .
Я имею в виду, URL-адрес конечной точки будет идентифицирован любым из Group
pk
, но там я смогу PersonGroup
Надеюсь, вы его получили, может кто-нибудь сказать мне, какчтобы достичь этого?