Добавление в DRF serializer объекта модели

Есть модель User которая создается самой первой. После чего юзер может либо создать магазин, где он будет менеджером(лицом создавшим сей магазин), либо будет покупателем. И вот создается новый объект Shop , в который попадают данные из request соответственно,

class ShopSerializers(serializers.ModelSerializer):
    user = serializers.StringRelatedField()
    class Meta:
        model = Shop
        fields = "__all__" # ('id','name', 'url', 'file', "shop_manager")

#модель

class Shop(models.Model):
    name = models.CharField(max_length=50)
    url = models.URLField(max_length=200, blank=True)
    slug = models.SlugField(unique=True, blank=True,)
    file = models.FileField(blank=True, upload_to=None, max_length=100)
    shop_manager = models.ForeignKey(User, blank=True,
                                     verbose_name="Администратор магазина",
                                     on_delete=models.CASCADE)
    state = models.BooleanField(default=True)

так вот, заполняя данные при POST, я хочу что бы shop_manager заполнялся автоматически, беря значение зарегистрированного пользователя т.е. request.user.id Но мои попытки во вью не дают нужного результата, в итоге я получаю ошибку.

class ShopView(APIView):
    def post(self, request, *args, **kwargs):
        if request.user.is_authenticated:
# Вот один из вариантов, странно почему не работает:
            serializer = ShopSerializers(data={'name': request.data['name'],
                                                'file': request.data['file'],
                                                'shop_manager': request.user.id, # Вот эта вот часть
                                               }, partial=True)
            if serializer.is_valid():
                # shop_manager = User.objects.get(id=request.user.id)
                # Shop.objects.update(shop_manager=request.user.id)
            # shop = serializer.save()         
                return Response(serializer.data)

Каким образом я могу передать в data непосредственно юзера, как это делается в админке? Полученная ошибка

ОШИБКА:  значение NULL в столбце "shop_manager" отношения "shop_shop" нарушает ограничение NOT NULL
DETAIL:  Ошибочная строка содержит...

Ответы (0 шт):