Вложенный запрос в Django

Вот мой view.py

class ItemFilter(filters.FilterSet):
    stk_no=filters.CharFilter(lookup_expr="icontains")
    itemtran__ledindi=filters.CharFilter(lookup_expr="iexact")
    part_no=filters.CharFilter(lookup_expr="icontains")   
    brand_name=filters.CharFilter(lookup_expr="icontains")   
    class Meta:
        model=Item
        fields=['stk_no','itemtran__ledindi','part_no','brand_name']

class ItemViewSet(viewsets.ModelViewSet): 
    serializer_class = ItemSerializer
    queryset = Item.objects.all()  
    filter_backends = [DjangoFilterBackend]    
    filterset_class = ItemFilter
    pagination_class = PostPagination

    def get_queryset(self):
        return self.queryset.filter()

Вот мой serializer.py

class ItemTranSerializer(serializers.ModelSerializer):   
    id = serializers.IntegerField()
    
    class Meta:
        model = ItemTran
        read_only_fields = (
            "stk_no_id", 
        ), 
        fields = (
            "id",
            "stk_no",
            "qty", 
            "trntype",
            "company",
            "department",
        )


class ItemSerializer(serializers.ModelSerializer):   
      
    itemtran = ItemTranSerializer(many=True)
    
    class Meta:
        model = Item
        read_only_fields = (
            "created_at",
            "created_by",
        ), 
        fields = (
            "id",
            "stk_no",
            "part_no",
            "brand_name",
            "itemtran", 
        )

Я пытаюсь отфильтровать все товары с полем "company" в "ItemTran". но api просто возвращает все транзакции.

            "id": 7614,
            "stk_no": "NT1515",
            "part_no": "185/65 R 15",
            "brand_name": "Brand X",
            "itemtran": [
                {
                    "id": 620855,
                    "stk_no": "NT1515",
                    "qty": 4.0,
                    "trntype": "INV",
                    "company": "I",
                    "department": "I"
                },
                {
                    "id": 632238,
                    "stk_no": "NT1515",
                    "qty": 2.0,
                    "trntype": "ARR",
                    "company": "A",
                    "department": "F"
                },

где мне нужно, чтобы "itemtran" показывал только строки компании "I".

Я довольно новичок в этом, поэтому любая помощь будет высоко оценена.

У меня есть похожий модуль, который работает, но я не могу понять, что здесь не так. Я пробовал переписать все с нуля, но все еще нет результата

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