Skip to main content

# Oracle Json Field
django_json_field is a reusable Django field that allows you to store validated JSON your database and your model
It is heavily inspired by the Postgres Json Field and this generic json field:
https://raw.githubusercontent.com/dmkoch/django-jsonfield/

## PreRequisites
To use oracle-json-field you will need Django 2.0+ and Python3+

## Installation
Install via pip

pip install oracle-json-field

Or install via source

python setup.py install

## Setup
Update Django settings as follows

INSTALLED_APPS += ('oracle_json_field',)


## Define your models

from oracle_json_field.fields import JSONField
from oracle_json_field.managers import JsonQueryManager

class JsonModel(models.Model):
json = JSONField()
default_json = JSONField(default={"key1": 50})
complex_default_json = JSONField(default=[{"key1": 50}])
empty_default = JSONField(default={})

objects = JsonQueryManager()



## Create and **Natively** query any field in your json
JsonModel.objects.create(json={
"person": {
"age": 25,
"first_name": "Joe",
"last_name": "Blogs",
"address": {
"number": "52",
"street": "Here Terrace",
"post_code": "ABC 123",
"city": "Anytown",

}
}
})

JsonModel.objects.filter_json(json__person__first_name='Joe')
JsonModel.objects.filter_json(json__person__first_name__startswith='J')
JsonModel.objects.filter_json(json__person__address__city__in=['Anytown', 'Sometown'])
JsonModel.objects.filter_json(json__person__age__gte=25)



## Running the test suite:
In order to run the test suite, you will need to create an oracle user
and export the following environment variables:

ORACLE_JSON_HOST
ORACLE_JSON_PORT
ORACLE_JSON_SID
ORACLE_JSON_USER
ORACLE_JSON_PASS


This link describes how to setup the testing user:
https://code.djangoproject.com/wiki/OracleTestSetup

Then run the following command

python setup.py test

You should then see:

running test
Creating test database for alias 'default'...
Creating test user...
System check identified no issues (0 silenced).
......................................
Preserving test database for alias 'default'...
----------------------------------------------------------------------
Ran 38 tests in 4.900s

OK

Release files for oracle-json-field 0.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for oracle-json-field 0.0.7
File Size Uploaded
oracle-json-field-0.0.7.tar.gz 7.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for oracle-json-field 0.0.7
File Interpreter ABI Platform
oracle_json_field-0.0.7-py3-none-any.whl Python 3 none any Details

Total release size: 17.1 kB

Release files / oracle-json-field-0.0.7.tar.gz

Download URL oracle-json-field-0.0.7.tar.gz
Size 7.3 kB
Tags Source
SHA-256 checksum
How to use checksums
0fe06274723b4d74a827c461ee05bcc86945d82ab2d95c83e11639ca37830c50
BLAKE2b-256 checksum
How to use checksums
f152dfa334278aacee42abdbc346b3697273ac78249350bc3dfeff2b1eccc2b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.5

Release files / oracle_json_field-0.0.7-py3-none-any.whl

Download URL oracle_json_field-0.0.7-py3-none-any.whl
Size 9.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ee9dcab2154d6432420f1aedfe5802710982ac3c90fae82324e086ffc6e002ef
BLAKE2b-256 checksum
How to use checksums
e6c72793ad305842083175f716e6e851e3955e42e5c26220783048c36d7fb48e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.5

Release history Release notifications | RSS feed

This release

0.0.7 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page