You can change the fields in the method __init__ BookingSerializer. After initialization, the fields are available inself.fields
class BookingSerializer(Serializer):
reservation_history_id = serializers.IntegerField()
credit_card = 'api.v1.serializer.AddCreditCardSerializer()'
save_credit_card = serializers.BooleanField()
promo_code = serializers.BooleanField(required=False)
def __init__(self, *args, **kwargs):
super(BookingSerializer, self).__init__(*args, **kwargs)
self.fields['credit_card'].required = yourBackendMethod()
source
share