This still doesn't address the specific case of relationships to `self` with a custom`through` / `through_fields` where what is "source" and what is "target" matters.

Quick and dirty attempt to illustrate the idea:
```
Recursive relationships using an intermediary model imply/require
`symmetrical=False`, there is therefore a concept of "source" and "target".
In that case 'field1' will be treated as "source" of the relationship and 'field2'
as the "target".
```