My understanding of the JSONField() is that it is a field container for a
single JSON object. My use-case requires an array of objects. So, I
created an ArrayField() that nests a JSONField() as its model base_field
-- as shown in the code block, below:
{{{
questions = ArrayField(JSONField(null=True, blank=True, default=dict),
max_length=200, blank=True, default=[])
}}}
Everything seems to work fine with the exception of the JSON object being
stringified, as shown below:
{{{
"questions": [
"{
\"question\": \"What is the answer to everything?\",
\"answer\": \"42\"
}",
"{
\"question\": \"What year is it?\",
\"answer\": \"2018\"
}"
],
}}}
I believe the inserted backslashes (\) are a result of the serialization
process. My question is whether there is a better way for me to define
this object array model field?
Regards... Jim
--
Ticket URL: <https://code.djangoproject.com/ticket/29096>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* status: new => closed
* type: Uncategorized => Bug
* component: Core (Serialization) => contrib.postgres
* resolution: => duplicate
Comment:
Looks like a duplicate of #28291. (For usage questions, please use
[wiki:TicketClosingReasons/UseSupportChannels our support channels].)
--
Ticket URL: <https://code.djangoproject.com/ticket/29096#comment:1>
Old description:
New description:
Current Environment:
• Latest Django-2
• Latest Django Rest Framework
• PostgreSQL-9.5
• Ubuntu-16.04
My understanding of the JSONField() is that it is a field container for a
single JSON object. My use-case requires an array of objects. So, I
created an ArrayField() that nests a JSONField() as its model base_field
-- as shown in the code block, below:
{{{
questions = ArrayField(JSONField(null=True, blank=True, default=dict),
max_length=200, blank=True, default=[])
}}}
Everything seems to work fine with the exception of the JSON object being
stringified, as shown below:
{{{
"questions": [
"{
\"question\": \"What is the answer to everything?\",
\"answer\": \"42\"
}",
"{
\"question\": \"What year is it?\",
\"answer\": \"2018\"
}"
]
}}}
I believe the inserted backslashes (\) are a result of the serialization
process. My question is whether there is a better way for me to define
this object array model field?
Regards... Jim
--
--
Ticket URL: <https://code.djangoproject.com/ticket/29096#comment:2>