Improvement #159
Updated by liaham about 4 years ago
## Self-related Relation A When a user selects a project or project type in order to set it in relation between two objects of with the same model (ProjectType project or Project) is defined as ordered pair: ``` (a,b) != (b,a) ``` The left object of project type which the pair is user edits right now, the superordinate (guest) and the right assigned object is the subordinate (host). should be validated w.r.t.: * Project types uses superordinate and subordinate notation. the project_type_ids * Projects uses guest and host notation. ## Resulting Rules concerning Data Persistence 1. An the object cannot have a relation to itself: `(a,a) or (b,b)` . 1. An oject cannot have a subordinated relation to its superordinated object, what would cause a circular reference: `(a,b) and (b,a)` . That is, a relation is either `(a,b) or (b,a)`, but not both. The preferred definition, what should be saved, is from superordinated object to subordinated object. 1. The pair `(a,b)` is uniqe. existence