in my previous question how-to-save-many-to-many-relationship-in-django helped me about how to save many to many but i have some issue to save. Here we go..
I have the forloop template like
{% for items in store %}
<input type="checkbox" value="{{ items.id|safe }}" name="store[]">
{% endfor %
And the mission here is i am going to save many to many relation.
so
if request.method == 'POST':
...
new_track.save()
some_var = request.POST.getlist('store[]')
some_var
giving me this [u'2', u'4', u'3']
new_store = Store.objects.filter(id__in=some_var)
pprint.pprint(new_store)
new_track.store.add(new_store)
new_store giving me this [<Store: Store object>, <Store: Store object>, <Store: Store object>]
. Previously i tried with objects.get() that was working but saving multiple i come to use filter but don't know how to save multiple object. Now i have the error is
int() argument must be a string or a number, not 'QuerySet'
Updated:
Environment:
Request Method: POST
Request URL: http://127.0.0.1:8000/dashboard/track_info/10/
Django Version: 1.7
Python Version: 2.7.6
Installed Applications:
('django.contrib.sites',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'dsp',
'frontend',
'ckeditor',
'social.apps.django_app.default')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')
Traceback:
File "/home/ri/studio/env/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
111. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/ri/studio/env/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
22. return view_func(request, *args, **kwargs)
File "/home/ri/studio/Audiotube/dsp/decorators.py" in inner
46. return view(request, *args, **kwargs)
File "/home/ri/studio/Audiotube/dsp/views.py" in track_infodetail
338. new_track.store.add(new_store)
File "/home/ri/studio/env/local/lib/python2.7/site-packages/django/db/models/fields/related.py" in add
917. self._add_items(self.source_field_name, self.target_field_name, *objs)
File "/home/ri/studio/env/local/lib/python2.7/site-packages/django/db/models/fields/related.py" in _add_items
1010. '%s__in' % target_field_name: new_ids,
File "/home/ri/studio/env/local/lib/python2.7/site-packages/django/db/models/query.py" in filter
691. return self._filter_or_exclude(False, *args, **kwargs)
File "/home/ri/studio/env/local/lib/python2.7/site-packages/django/db/models/query.py" in _filter_or_exclude
709. clone.query.add_q(Q(*args, **kwargs))
File "/home/ri/studio/env/local/lib/python2.7/site-packages/django/db/models/sql/query.py" in add_q
1287. clause, require_inner = self._add_q(where_part, self.used_aliases)
File "/home/ri/studio/env/local/lib/python2.7/site-packages/django/db/models/sql/query.py" in _add_q
1314. current_negated=current_negated, connector=connector)
File "/home/ri/studio/env/local/lib/python2.7/site-packages/django/db/models/sql/query.py" in build_filter
1181. lookups, value)
File "/home/ri/studio/env/local/lib/python2.7/site-packages/django/db/models/fields/related.py" in get_lookup_constraint
1550. root_constraint.add(lookup_class(Col(alias, targets[0], sources[0]), value), AND)
File "/home/ri/studio/env/local/lib/python2.7/site-packages/django/db/models/lookups.py" in __init__
82. self.rhs = self.get_prep_lookup()
File "/home/ri/studio/env/local/lib/python2.7/site-packages/django/db/models/lookups.py" in get_prep_lookup
85. return self.lhs.output_field.get_prep_lookup(self.lookup_name, self.rhs)
File "/home/ri/studio/env/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py" in get_prep_lookup
648. return [self.get_prep_value(v) for v in value]
File "/home/ri/studio/env/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py" in get_prep_value
915. return int(value)
Exception Type: TypeError at /dashboard/track_info/10/
Exception Value: int() argument must be a string or a number, not 'QuerySet'