add support for non-symmetrical m2m fields