Имя фильтра Django не определено

Я пытаюсь отфильтровать мои Todos по test_id, полученному из URL. Он извлекает id из URL, но не может отфильтровать по todo__test. Я также пробовал "test", "Todo.test.test_id", "Todo.test". Полагаю, я запутался в том, какую переменную мне нужно фильтровать, а документация по Django restframework не показывает явно, какую переменную использовать. В их примере используется "purchaser__username", что я не понимаю, откуда она берется. https://www.django-rest-framework.org/api-guide/filtering/

class TodoList(generics.ListAPIView):
    queryset = Todo.objects.all()
    serializer_class = TodoSerializer

    def get_queryset(self):
        test_id = self.kwargs['test_id']
        return Todo.objects.filter(todo__test == test_id)

class Todo(models.Model):
    test = models.ForeignKey(Test, on_delete=models.CASCADE)
    content = models.TextField(blank=True)
    order = models.IntegerField()

    def __str__(self):
        return self.content + ' - ' + self.test.test_name

    class Meta:
        ordering = ['test_id']

я предполагаю, что это будет так. вы передали неправильное имя поля внешнего ключа. Todo.objects.filter(test_id='whatever_value')

Вернуться на верх