'how to use django rest filtering with mongoengine for ListField

I am trying to filter queryset for Many To Many Relationship. But its not working. I am trying to get objects of TestTag document with keyword name.

models :


class TestKeyword(Document):
    name = StringField(required=True)


class TestTag(Document):
    tag = StringField(max_length=100, null=True)  
    keywords = ListField(ReferenceField(TestKeyword), null=True)

Filter:

import django_mongoengine_filter as filters
from app.models import TestTag

class TestTagFilter(filters.FilterSet):
    class Meta:
        model = TestTag
        fields = ['tag', 'keywords__name']

class TestTag(ModelViewSet):
    queryset = TestTag.objects.all()
    serializer_class = TestTagSerializer
    # override filter_queryset function
    def filter_queryset(self, queryset):
        filter = TestTagFilter(self.request.query_params, queryset=queryset)
        return filter.qs


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source