﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
29096	JSONField() as base_field for ArrayField() for creating an object array	Jim Biggs	nobody	"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"	Uncategorized	new	Core (Serialization)	2.0	Normal		serialization, JSONField, ArrayField		Unreviewed	0	0	0	0	0	0
