Вложенный запрос в 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".
Я довольно новичок в этом, поэтому любая помощь будет высоко оценена.
У меня есть похожий модуль, который работает, но я не могу понять, что здесь не так. Я пробовал переписать все с нуля, но все еще нет результата