Adding relationships is currently not very straight-fordward. That should be improved.
I suggest that we have something like a drop-down button which lists all possible relationship types and clicking one will bring up the according dialog. Relationships with a reverse-name should be listed two times, once with the normal name and once with the reversed name. And the opening dialog can then populate the correct person, be it A or B.
Another improvment we can add is to add restrictions to the type of allowed "endpoints" for a relationship. For that we could have a ManyToMany field to "ContentType" and add an attribute lazy_choices for filtering to be limited to subclasses of core.Person. And we could even add a filter-field to limit the list of possible relationship endpoints. And then show only the options in the UI where there is a non-empty queryset.
So two parts for this: One is the UI and secondly the model. But in order to get more out of the UI we need to improve the model first.
Adding relationships is currently not very straight-fordward. That should be improved.
I suggest that we have something like a drop-down button which lists all possible relationship types and clicking one will bring up the according dialog. Relationships with a reverse-name should be listed two times, once with the normal name and once with the reversed name. And the opening dialog can then populate the correct person, be it A or B.
Another improvment we can add is to add restrictions to the type of allowed "endpoints" for a relationship. For that we could have a ManyToMany field to "ContentType" and add an attribute
lazy_choicesfor filtering to be limited to subclasses ofcore.Person. And we could even add a filter-field to limit the list of possible relationship endpoints. And then show only the options in the UI where there is a non-empty queryset.So two parts for this: One is the UI and secondly the model. But in order to get more out of the UI we need to improve the model first.