Hi,
I think your problem is to use POST['_models_changed']. Django uses
specialized version of dictionary there which return _last_ value from
list. You need to use special "get_list()" method to get whole list of
objects.
Your code should start working if you do
data['_models_changed'].get_list() in a for-loop.
Also, why you modify request.POST instead of adding class attribute?
On 24.04.2017 14:37, Emilio Jimenez Canalejo wrote:
Hi, I've been looking for some time around the internet a problem I
have, maybe I'm just dull from all the searching and the answer is
pretty obvious, but I can't find it.
For example, I have code like this:
|
@app.task
deffoo(idx):
print("This is iteration {}".format(idx))
defsave_model(self,request,obj,form,change):
data = request.POST
result =super(Model,self).save_model(request,obj,form,change)
forpk in data['_models_changed']:
transaction.on_commit(lambda:foo(pk))
|
To my astonishment, I thought I would get:
|
"This is iteration 1"
"This is iteration 2"
"This is iteration 3"
"This is iteration 4"
|
But I got:
|
"This is iteration 4"
"This is iteration 4"
"This is iteration 4"
"This is iteration 4"
|
I'm using python 2.7, Django 1.10.5 and Celery 4.0.2.
'models_changed' is a field in the post added by a custom clean method.
Anyone knows a way to do this?
Thanks for all!
--
You received this message because you are subscribed to the Google
Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To post to this group, send email to [email protected]
<mailto:[email protected]>.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/91e87fb4-69e2-4b4e-bd6b-704eb7567026%40googlegroups.com
<https://groups.google.com/d/msgid/django-users/91e87fb4-69e2-4b4e-bd6b-704eb7567026%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.
--
Jani Tiainen
--
You received this message because you are subscribed to the Google Groups "Django
users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/80fd8239-7ea0-7815-081a-f381309343dc%40gmail.com.
For more options, visit https://groups.google.com/d/optout.