#19544: IntegrityError during ManyToMany add() on Oracle or for user-defined
through relationships.
-------------------------------------+-------------------------------------
     Reporter:  German M. Bravo      |                    Owner:  Simon
         Type:                       |  Charette
  Cleanup/optimization               |                   Status:  assigned
    Component:  Database layer       |                  Version:  master
  (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
-------------------------------------+-------------------------------------

Comment (by Mariusz Felisiak <felisiak.mariusz@…>):

 In [changeset:"379bf1a2d41494360d86bc3cf8adc482abca5d63" 379bf1a2]:
 {{{
 #!CommitTicketReference repository=""
 revision="379bf1a2d41494360d86bc3cf8adc482abca5d63"
 Fixed #8467 -- Prevented crash when adding existent m2m relation with an
 invalid type.

 This was an issue anymore on backends that allows conflicts to be
 ignored (Refs #19544) as long the provided values were coercible to the
 expected type. However on the remaining backends that don't support
 this feature, namely Oracle, this could still result in an
 IntegrityError.

 By attempting to coerce the provided values to the expected types in
 Python beforehand we allow the existing value set intersection in
 ManyRelatedManager._get_missing_target_ids to prevent the problematic
 insertion attempts.

 Thanks Baptiste Mispelon for triaging this old ticket against the
 current state of the master branch.
 }}}

-- 
Ticket URL: <https://code.djangoproject.com/ticket/19544#comment:28>
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 django-updates+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/064.5506fb53e6371f4da2d2e27bfbfd0adb%40djangoproject.com.

Reply via email to