QuerySet не фильтрует по пользователю
Итак, мой код написан на Django backend и React frontend.
По какой-то причине объекты (в данном случае крысы) не фильтруются по владельцу/пользователю. Я не хочу делать разрешения - любой должен иметь доступ к чужой крысе, но в данном конкретном списке пользователь должен видеть только тех крыс, которые принадлежат ему.
Запуск других фильтров работает, например, по дню рождения. Но когда я пробую фильтровать по пользователю, крысы не появляются. Ошибка также не возникает. Что может быть не так?
Сериализатор объектов:
class RatSerializer(FlexFieldsModelSerializer):
user = serializers.CharField()
body_colour = BodyColourSerializer()
eye_colour = EyeColourSerializer()
image = ImageSerializer()
class Meta:
model = rat
Просмотров:
class ratViewset(FlexFieldsMixin):
serializer_class = RatSerializer
def get_queryset(self):
userid = self.request.id
return rat.objects.filter(user = userid)
Пользовательский сериализатор:
class UserSerializer(serializers.ModelSerializer):
password = serializers.CharField(write_only=True)
class Meta:
model = User
fields = ('id', 'username', 'password')
И вывод JSON для пользователя:
{
"id": 13,
"username": "new"
}
В выводе JSON для объекта/крысы четко указано, какому пользователю он принадлежит. Так почему же фильтр не работает?
Если вы используете:
request.user
Ваш пользователь не аутентифицирован.
Поэтому он вернет все.
Убедитесь, что вы вошли в систему, и попробуйте еще раз