django rest framework меняет первичный ключ на использование поля unqiue
У меня есть модель, которая называетсяGameProfile
, который является отношением один к одному сUser
модель. я использовалHyperlinkedModelSerializer
по всему моему дизайну.
ДляGameProfile
Предполагается, что пользовательское поле является первичным ключом для запросов, оно уникально, но я не настроил его в качестве первичного ключа. Есть ли способ изменить поведение по умолчанию сериализатора Django, чтобы указатьuser__id
в качестве первичного ключа и всегда использовать его для получения профиля в подробном представлении?
class GameProfileSerializer(serializers.HyperlinkedModelSerializer):
"""
"""
user_pk = serializers.Field(source='user.id')
class Meta:
model = GameProfile
class GameProfileViewSet(viewsets.ModelViewSet):
"""
"""
queryset = GameProfile.objects.all()
serializer_class = GameProfileSerializer
def get_queryset(self):
""" get_queryset
"""
queryset = super(GameProfileViewSet, self).get_queryset()
if not queryset.exists():
raise Http404
if self.request.user.is_authenticated() and not self.request.user.is_superuser:
return queryset.filter(user=self.request.user)
return queryset
Посоветуйте пожалуйста, заранее спасибо :)