#31551: TypeError: _bulk_create() got an unexpected keyword argument
'ignore_conflicts'
-------------------------------------+-------------------------------------
               Reporter:  scshivam   |          Owner:  nobody
                   Type:  Bug        |         Status:  new
              Component:  Database   |        Version:  3.0
  layer (models, ORM)                |
               Severity:  Normal     |       Keywords:  Many-to-many Fields
           Triage Stage:             |      Has patch:  0
  Unreviewed                         |
    Needs documentation:  0          |    Needs tests:  0
Patch needs improvement:  0          |  Easy pickings:  0
                  UI/UX:  0          |
-------------------------------------+-------------------------------------
 Code:

 I get error in using .add() and .set() functions with many to many keys in
 models.
 I rolled back to Django-2.2.12 and this issue was gone.

 {{{
 class GroupSerializer(serializers.ModelSerializer):
     permissions = PermissionSerializerGroup(many=True, required=False)

     class Meta:
         model = Group
         fields = ('id', 'name', 'permissions')
         extra_kwargs = {
             'name': {'validators': []},
         }

     def create(self, validated_data):
         print(validated_data)
         permissions_data = validated_data.pop("permissions")
         obj, group =
 Group.objects.update_or_create(name=validated_data["name"])
         obj.permissions.clear()
         for permission in permissions_data:
             per = Permission.objects.get(codename=permission["codename"])
             obj.permissions.add(per)
         obj.save()
         return obj
 }}}


 Traceback:
 {{{
   File "/home/suman/Desktop/suman1234/myvenv/lib/python3.6/site-
 packages/django/core/handlers/exception.py", line 34, in inner
     response = get_response(request)
   File "/home/suman/Desktop/suman1234/myvenv/lib/python3.6/site-
 packages/django/core/handlers/base.py", line 115, in _get_response
     response = self.process_exception_by_middleware(e, request)
   File "/home/suman/Desktop/suman1234/myvenv/lib/python3.6/site-
 packages/django/core/handlers/base.py", line 113, in _get_response
     response = wrapped_callback(request, *callback_args,
 **callback_kwargs)
   File "/home/suman/Desktop/suman1234/myvenv/lib/python3.6/site-
 packages/django/contrib/admin/options.py", line 607, in wrapper
     return self.admin_site.admin_view(view)(*args, **kwargs)
   File "/home/suman/Desktop/suman1234/myvenv/lib/python3.6/site-
 packages/django/utils/decorators.py", line 130, in _wrapped_view
     response = view_func(request, *args, **kwargs)
   File "/home/suman/Desktop/suman1234/myvenv/lib/python3.6/site-
 packages/django/views/decorators/cache.py", line 44, in _wrapped_view_func
     response = view_func(request, *args, **kwargs)
   File "/home/suman/Desktop/suman1234/myvenv/lib/python3.6/site-
 packages/django/contrib/admin/sites.py", line 231, in inner
     return view(request, *args, **kwargs)
   File "/home/suman/Desktop/suman1234/myvenv/lib/python3.6/site-
 packages/django/contrib/admin/options.py", line 1638, in add_view
     return self.changeform_view(request, None, form_url, extra_context)
   File "/home/suman/Desktop/suman1234/myvenv/lib/python3.6/site-
 packages/django/utils/decorators.py", line 43, in _wrapper
     return bound_method(*args, **kwargs)
   File "/home/suman/Desktop/suman1234/myvenv/lib/python3.6/site-
 packages/django/utils/decorators.py", line 130, in _wrapped_view
     response = view_func(request, *args, **kwargs)
   File "/home/suman/Desktop/suman1234/myvenv/lib/python3.6/site-
 packages/django/contrib/admin/options.py", line 1522, in changeform_view
     return self._changeform_view(request, object_id, form_url,
 extra_context)
   File "/home/suman/Desktop/suman1234/myvenv/lib/python3.6/site-
 packages/django/contrib/admin/options.py", line 1566, in _changeform_view
     self.save_related(request, form, formsets, not add)
   File "/home/suman/Desktop/suman1234/myvenv/lib/python3.6/site-
 packages/django/contrib/admin/options.py", line 1107, in save_related
     form.save_m2m()
   File "/home/suman/Desktop/suman1234/myvenv/lib/python3.6/site-
 packages/django/forms/models.py", line 442, in _save_m2m
     f.save_form_data(self.instance, cleaned_data[f.name])
   File "/home/suman/Desktop/suman1234/myvenv/lib/python3.6/site-
 packages/django/db/models/fields/related.py", line 1618, in save_form_data
     getattr(instance, self.attname).set(data)
   File "/home/suman/Desktop/suman1234/myvenv/lib/python3.6/site-
 packages/django/db/models/fields/related_descriptors.py", line 1008, in
 set
     self.add(*new_objs, through_defaults=through_defaults)
   File "/home/suman/Desktop/suman1234/myvenv/lib/python3.6/site-
 packages/django/db/models/fields/related_descriptors.py", line 946, in add
     through_defaults=through_defaults,
   File "/home/suman/Desktop/suman1234/myvenv/lib/python3.6/site-
 packages/django/db/models/fields/related_descriptors.py", line 1129, in
 _add_items
     ], ignore_conflicts=True)
 TypeError: _bulk_create() got an unexpected keyword argument
 'ignore_conflicts'
 }}}

-- 
Ticket URL: <https://code.djangoproject.com/ticket/31551>
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/051.866bbe0eef13b49a65c0c4a9a9d852ad%40djangoproject.com.

Reply via email to