On 17/01/2012 4:05am, Bill Freeman wrote:
Two thoughts:
1. Have both a one to one and a one to many onto the same children.
There's no reason that the current child can't be in both
relationships, or you could keep them disjoint by "moving" the old
current child to the collection when it id displaced by a new child.
I like this. Perhaps in the model there could be a 1:1 field with
choices=<children in the 1:n set> ??? I guess I'll need to experiment.
My existing schema has 1:n between parent and children and the children
have a 1:1 between themselves forming links in a chain as you suggest
below.
2. Have a many to many on self in the child (set) or a one to one (or
just foreign key on self (list) so that the current child allows
access to the history children.
Or am I misunderstanding the problem.
Not at all. But I think I'm getting it. If your #1 thought doesn't work
I'll try and filter out all children except for the current one and
then, in the form for the only visible child, find a way to navigate
forward to the not-yet-current one and backward to the immediate
predecessor.
Thanks Bill
Mike
Bill
On 1/16/12, Mike Dewhirst<mi...@dewhirst.com.au> wrote:
On 16/01/2012 5:19pm, Bill Beal wrote:
Why not have a child model that differs from the one-to-one child model
in that the parent key is now a foreign key to the parent? When another
child needs to replace the current one in the one-to-one relationship,
move the child to the second table where there is a many-to-one
relationship to the parent, then modify the one-to-one child record. If
necessary, duplicate the current one-to-one record in the many-to-one
table. Does this make sense?
I understand what you mean but it feels a bit yukky. Thinking about it
some more maybe I need a 'hidden' field which gets updated on saving
based on the existence of a more modern child.
Dunno.
Thanks
Mike
Bill Beal
On Mon, Jan 16, 2012 at 12:55 AM, Mike Dewhirst<mi...@dewhirst.com.au
<mailto:mi...@dewhirst.com.au>> wrote:
I need a one-to-many to behave like a one-to-one.
The parent instance of my model can only ever have one current child
instance of another model. Multiple child instances have to exist
and be kept for the historical record.
The main benefit of one-to-one relationships is that they can be
mapped together (in the Admin) as an extension of the parent.
In a view I suppose I can use a manager to filter the children into
a pseudo-one-to-one thingy but how do I do this in the Admin?
Maybe sort them into date order and only show one? Is there a better
way?
Thanks for any help
Mike
--
You received this message because you are subscribed to the Google
Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com
<mailto:django-users@googlegroups.com>.
To unsubscribe from this group, send email to
django-users+unsubscribe@__googlegroups.com
<mailto:django-users%2bunsubscr...@googlegroups.com>.
For more options, visit this group at
http://groups.google.com/__group/django-users?hl=en
<http://groups.google.com/group/django-users?hl=en>.
--
You received this message because you are subscribed to the Google
Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.
--
You received this message because you are subscribed to the Google Groups "Django
users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.