установите вашу пользовательскую модель в файле настроек (base.py) и импортируйте ее
AUTH_USER_MODEL = 'users.User' #(format is module.user model name)
from django.conf import settings
user = models. OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
метод 2
Переопределить метод get_create в ProfileView. Каждый аутентифицированный запрос содержит объект request.user
, который представляет пользователя, выполняющего запрос. Чтобы получить идентификатор пользователя с этим, вы просто запускаете request.user.id
class ProfileCreateView(CreateAPIView):
queryset = Profile.objects.all()
serializer_class = ProfileSerializer
def create(self, request, *args, **kwargs):
user = User.objects.get(id=request.user.id)
# create the profile and save it
...
в ваших сериализаторах вы также можете получить текущего пользователя таким образом
from rest_framework.serializers import CurrentUserDefault, PrimaryKeyRelatedField
class ProfileModelSerializer(ModelSerializer):
user = PrimaryKeyRelatedField(read_only=True, default=CurrentUserDefault())
class Meta:
...
Я не знаю, какова оставшаяся часть вашей установки, но какая-либо из этих комбинаций или их комбинация