#29096 closed Bug (duplicate)
JSONField() as base_field for ArrayField() for creating an object array — at Version 2
Reported by: | Jim Biggs | Owned by: | nobody |
---|---|---|---|
Component: | contrib.postgres | Version: | 2.0 |
Severity: | Normal | Keywords: | serialization, JSONField, ArrayField |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
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
Change History (2)
comment:1 by , 7 years ago
Component: | Core (Serialization) → contrib.postgres |
---|---|
Resolution: | → duplicate |
Status: | new → closed |
Type: | Uncategorized → Bug |
comment:2 by , 7 years ago
Description: | modified (diff) |
---|
Looks like a duplicate of #28291. (For usage questions, please use our support channels.)