модельки есть фк на User, соотвественно при Post запросе в дату я кладу {user_id: 1}, нужно проверить, что этот айди соотвествует айди юзер, который в реквесте (request.user), как вариант просто сравнить, если не равны, ток возвращать ошибку, но, насколько я понимаю, это не соответствует концепции drf, и я должен как то описать это в кастомной валидаторе для сериалайзера. Подскажите, как это правильно сделать?
class MySerializer(ModelSerializer): class Meta: model = MyModel fields = '__all__' extra_kwargs = { 'user': { 'default': serializers.CurrentUserDefault(), 'read_only': True } } После этой манипуляции будет подставляться тот юзер который находится в request. И вьюха будет почище. Только если будешь вызывать сериалайзер сам, то не забудь в context закинуть сам request, иначе exception выйдет serializer = MySerializer(data={...}, context={'request': request'}) Мда. Поздновато, но всё же, лишним не будет)
Обсуждают сегодня