#8467: For ManyToMany manager, we should convert objects being added or removed to the pk type if they are not. -------------------------------------+------------------------------------- Reporter: Wonlay | Owner: nobody Type: New feature | Status: closed Component: Database layer | Version: master (models, ORM) | Severity: Normal | Resolution: fixed Keywords: Duplicate entry, | Triage Stage: Accepted add, remove, ManyToManyField | Has patch: 1 | Needs documentation: 0 Needs tests: 0 | Patch needs improvement: 0 Easy pickings: 0 | UI/UX: 0 -------------------------------------+------------------------------------- Changes (by Mariusz Felisiak <felisiak.mariusz@…>):
* status: new => closed * resolution: => fixed Comment: 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/8467#comment:19> 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.1a0349f5a4119eccca96760cff93a7ba%40djangoproject.com.