# 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
Metadata
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)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| oracle-json-field-0.0.7.tar.gz | 7.3 kB | Without provenance | Details for oracle-json-field-0.0.7.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| oracle_json_field-0.0.7-py3-none-any.whl | Python 3 | none | any | Details for oracle_json_field-0.0.7-py3-none-any.whl |
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
|
Security for oracle-json-field 0.0.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.