omar fadi
omar fadi

Reputation: 3

pass an ID to serializers.RelatedField djagno rest framework (DRF)

i have this code here :

class TradePartsSerializer(serializers.ModelSerializer):
    class Meta:
        model = TradePart
        fields = '__all__'

class TradeSerializer(serializers.ModelSerializer):
    tradepart =  serializers.RelatedField(many=True, queryset=TradePart.objects.filter(TRADE ID))
    class Meta:
        model = Trade
        fields = ['user', 'partsNum', 'tradepart']

how i can pass the trade ID from TradeSerializer to queryset=TradePart.objects.filter(TRADE ID HERE!)

so i can return trade parts for each trade

my views.py:

    if 'user' in request.query_params:
        userId = request.query_params['user']
        user = User.objects.get(id=userId)
        trades = Trade.objects.filter(user=user)
        serializer = TradeSerializer(trades, many=True)
        return Response({'trades': serializer.data}, status=200)

i wanna return every tradepart for each trade

Upvotes: 0

Views: 105

Answers (1)

lucutzu33
lucutzu33

Reputation: 3700

class TradePartsSerializer(serializers.ModelSerializer):
    class Meta:
        model = TradePart
        fields = '__all__'

class TradeSerializer(serializers.ModelSerializer):
    tradepart =  TradePartsSerializer(many=True, read_only=True)
    class Meta:
        model = Trade
        fields = ['user', 'partsNum', 'tradepart']

Upvotes: 1

Related Questions