#26362: Manually changing the parent of a child model is silently failing.
-------------------------------------+-------------------------------------
Reporter: Macainian | Owner: nobody
Type: Bug | Status: new
Component: Database layer | Version: 1.8
(models, ORM) |
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by timgraham):
* needs_better_patch: => 0
* needs_docs: => 0
* needs_tests: => 0
* stage: Unreviewed => Accepted
Comment:
The first point seems to be a valid issue. In particular, after assigning
a new parent, the `pk` attribute is updated, but not the `id`. I think
this can be fixed but I'm not 100% sure.
{{{
>>> child.parent_ptr = new_parent
>>> child.pk
2
>>> child.id
1
}}}
As for the second issue, `QuerySet.update()` is working for me.
{{{
>>> child = Child.objects.create()
>>> child_pk = child.id
>>> new_parent = Parent.objects.create()
>>> Child.objects.filter(id=child.pk).update(parent_ptr=new_parent)
>>> Child.objects.get(pk=child_pk)
...
DoesNotExist: Child matching query does not exist.
}}}
(make sense since the `Child` with the old `pk` no longer exists)
--
Ticket URL: <https://code.djangoproject.com/ticket/26362#comment:1>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" 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].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/067.3d5e1cba993a13af71794ab078203020%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.