What kind of relations is required to store user's membership in multiple groups to be able to recover:
- history of user participation in some groups (date joined, date quit)
- list of current user groups (in join order) to determine his current status
- list of users, who were participating in that group at a given period of time
I guess it is ManyToMany (or an ugly kind of OneToMany), but can't figure out how to use it; need a minimal example, preferably - for Django's models.
Also, which consistency problems are expected when some group/user needs to be deleted?