#33586: Cannot delete object (A) referenced by another object (B) if said object
(A) has a foreign key to a custom user.
-------------------------------+------------------------------------
Reporter: Jeremy Poulin | Owner: Bhuvnesh
Type: Bug | Status: assigned
Component: Migrations | Version: 4.0
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 1 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------+------------------------------------
Comment (by Bhuvnesh):
Most probably this error is caused due {{{mutate_state}}} .
In the above issue for forward migration (Up) the concrete model for
instance of model A is
{{{
{'__module__': '__fake__', '__doc__': 'A(id, user)', '_meta': <Options for
A>, 'DoesNotExist': <class '__fake__.A.DoesNotExist'>,
'MultipleObjectsReturned': <class '__fake__.A.MultipleObjectsReturned'>,
'id': <django.db.models.query_utils.DeferredAttribute object at
0x000002554F5E8A60>, 'user_id':
<django.db.models.fields.related_descriptors.ForeignKeyDeferredAttribute
object at 0x000002554F5E8A00>, 'user':
<django.db.models.fields.related_descriptors.ForwardManyToOneDescriptor
object at 0x000002554F5E89A0>, 'objects':
<django.db.models.manager.ManagerDescriptor object at 0x000002554F5E88B0>,
'b_set':
<django.db.models.fields.related_descriptors.ReverseManyToOneDescriptor
object at 0x000002554F527D00>}
}}}
For Reverse migration (down ) the concrete model for instance of model A
is
{{{
{'__module__': '__fake__', '__doc__': 'A(id, user)', '_meta': <Options for
A>, 'DoesNotExist': <class '__fake__.A.DoesNotExist'>,
'MultipleObjectsReturned': <class '__fake__.A.MultipleObjectsReturned'>,
'id': <django.db.models.query_utils.DeferredAttribute object at
0x000002053C944550>, 'user_id':
<django.db.models.fields.related_descriptors.ForeignKeyDeferredAttribute
object at 0x000002053C9445B0>, 'user':
<django.db.models.fields.related_descriptors.ForwardManyToOneDescriptor
object at 0x000002053C9441C0>, 'objects':
<django.db.models.manager.ManagerDescriptor object at 0x000002053C945120>}
}}}
Due to this difference {{{check_rel_lookup_compatibility}}} is returning
False.
--
Ticket URL: <https://code.djangoproject.com/ticket/33586#comment:20>
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 view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/01070183b109d9e8-de242128-33ac-4e64-8d90-e89597ba11e0-000000%40eu-central-1.amazonses.com.