#30476: Add detection for PostgreSQL json field, aside from the already existing detection for jsonb field, using inspectdb -------------------------------------+------------------------------------- Reporter: Héctor | Owner: (none) Pablos | Type: New | Status: new feature | Component: | Version: 2.2 contrib.postgres | Keywords: inspectdb, Severity: Normal | JSONField, json, jsonb Triage Stage: | Has patch: 0 Unreviewed | Needs documentation: 0 | Needs tests: 0 Patch needs improvement: 0 | Easy pickings: 0 UI/UX: 0 | -------------------------------------+------------------------------------- Right now, the {{{inspectdb}}} command, when the {{{django.contrib.postgres}}} app is added to {{{INSTALLED_APPS}}} in the settings, is able to detect {{{jsonb}}} fields and generate a model with the right {{{django.contrib.postgres.fields.JSONField}}}, but that's not the case for simple {{json}} fields.
[https://docs.djangoproject.com/en/2.2/ref/contrib/postgres/fields/#django.contrib.postgres.fields.JSONField The documentation] states that the {{{JSONField}}} uses internally a PostgreSQL {{{jsonb}}} field, but I wonder if normal {{{json}}} fields could also be detected as a {{{JSONField}}}, as they can perfectly work for unmanaged models. I'm happy to do a patch for this if it's considered necessary, adding an additional key to the ones provided by the {{{contrib.postgres}}} module inside the [https://github.com/django/django/blob/2.2/django/contrib/postgres/apps.py#L49 data_types_reverse dict] with the following information: {{{ 114: 'django.contrib.postgres.fields.JSONField', }}} And the documentation and tests considered being necessary. The id 114 is the OID of the {{{json}}} data type in PostgreSQL, at least in its 11.1 version. You can check this by executing the following query: {{{#!sql SELECT oid, typname FROM pg_catalog.pg_type WHERE typname='json'; }}} Also happy to check other database versions if needed. -- Ticket URL: <https://code.djangoproject.com/ticket/30476> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/049.57cac60a5b8f918dd67a2cd94e127988%40djangoproject.com. For more options, visit https://groups.google.com/d/optout.