Add serialization of querysets to the dynamic state action form.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
@@ -3,6 +3,7 @@ from __future__ import absolute_import, unicode_literals
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
from django import forms
|
from django import forms
|
||||||
|
from django.db.models.query import QuerySet
|
||||||
from django.forms.formsets import formset_factory
|
from django.forms.formsets import formset_factory
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
@@ -61,9 +62,10 @@ class WorkflowStateActionDynamicForm(DynamicModelForm):
|
|||||||
action_data[field['name']] = data.pop(
|
action_data[field['name']] = data.pop(
|
||||||
field['name'], field.get('default', None)
|
field['name'], field.get('default', None)
|
||||||
)
|
)
|
||||||
|
if isinstance(action_data[field['name']], QuerySet):
|
||||||
|
# Flatten the queryset to a list of ids
|
||||||
|
action_data[field['name']] = list(action_data[field['name']].values_list('id', flat=True))
|
||||||
|
|
||||||
# Flatten the queryset to a list of ids
|
|
||||||
action_data['tags'] = list(action_data['tags'].values_list('id', flat=True))
|
|
||||||
data['action_data'] = json.dumps(action_data)
|
data['action_data'] = json.dumps(action_data)
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user