My Generals don't get the right traits

I let the enemys flee, release the prisoners for free
and don't sack cities but my generals get Fear and Loyalty

shouldn't they get knighthood bonus for beeing friendly?