ic-labs / django-icekit

GLAMkit is a next-generation Python CMS by the Interaction Consortium, designed especially for the cultural sector.
http://glamkit.com
MIT License
47 stars 11 forks source link

`EventBase.part_of` should be acyclic #292

Open cogat opened 7 years ago

cogat commented 7 years ago

Two events A and B can be made to be part_of one another, ie event A can indirectly (possibly even directly) be its own ancestor. This can cause recursion-depth errors, when trying to traverse relationships.

However, in the ACMILabs fork, we've also made part_of a many-to-many, since an event can be part_of many parent events. So the event structure should be a directed acyclic tree, rather than an mptt-type tree where every Event only has one parent.