On 12 April 2013 08:43, Dennis Lee Bieber <[email protected]> wrote: > On Thu, 11 Apr 2013 16:41:37 +1000, Lachlan Musicman <[email protected]> > declaimed the following in gmane.comp.python.django.user: > >> # Relations >> parents = models.ManyToManyField("self", related_name='p', >> verbose_name="Parents", null=True, blank=True) >> siblings = models.ManyToManyField("self", related_name='s', >> verbose_name="Siblings", null=True, blank=True) >> partners = models.ManyToManyField("self", related_name='ps', >> verbose_name="Partners", null=True, blank=True) >> children = models.ManyToManyField("self", related_name='c', >> verbose_name="Children", null=True, blank=True) >> > Too many links... > > By definition, full siblings are the set in which all the parents > are identical, so you shouldn't be storing a many-to-many table for > siblings; "step" siblings are the set in which one parent but not the > other are identical. > > An individual typically only has two parents (unless you are > considering birth and adoption, which may be needed to handle some of > the odd situations forming with the various "same sex marriage" models), > so many-to-many isn't really appropriate. And an individual could have > many children. > > So I'd have a pair of links for > > father > mother > > and that is IT... Children and Siblings are all query results (children > of X are those with the appropriate parent slot = X).
I like your reasoning, but I disagree on your result. First, it doesn't relate partners, second, it presumes two parents (I am a step father). So I think I'm going to go with a parent m2m partner m2m and take your advise to trash sibling and children. Back to the grindstone then. cheers L. -- The new creativity is pointing, not making. Likewise, in the future, the best writers will be the best information managers. http://www.theawl.com/2013/02/an-interview-with-avant-garde-poet-kenneth-goldsmith -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.

