PostgreSQL a Django JSON Field

Nanooq IT
Nanooq IT
Jul 28, 2017 · 2 min read

Keďže sa pomerne teším na nový JSON field v Djangu 1.9, skúsila som prácu s ním už v alfa verzii. Alfa verziu je možné si nainštalovať pomocou príkazu:

pip install --pre django

Pracu s JSONFieldom prezentujem na jednoduchom priklade zalozenom na Pacientovi a Symptonoch. Klasicky sa pouziva na priradenie symptonov choroby k danemu pacientovi Entity-attribute-value-model, pricom niektore symptony su specificke pre kazdeho z pacientov zvlast.

Pomocou JSONFieldu je mozne datovy model prepisat nasledovne:

1. Nastavenie lokalnej PostgreSQL databazy
Nastavenie databazy napriklad v PGAdminovi a nasledne zadanim hodnot v subore settings.py

2. Migracia a vytvorenie (tabuliek)
Tabulky je mozne vytvorit pomocou prikazu:

python manage.py makemigrations
python manage.py migrate

3. Vytvorenie objektov
V prvom kroku si definujeme symptony, ku ktorym budu nasledne priradene jednotlive atributy a parametre identifikujuce symptony choroby na konkretnej osobe.

Vytvorenie objektu Pacient, ktoremu definujeme dany sympton a vlasnostnosti specificke pre sympton a pacienta.

4. Queries
— vypis vsetkych pacientov s chorobou cancer

- vypis vsetkych pacientov s chorobou cancer, ktory maju horucku 39,

- vypis vsetkych pacientov, ktory maju bielu farbu pokozky bez

- vypis vsetkych pacientov, ktory maju bielu farbu bez ohladu na symptony

5. Indexy
Gin
btree
hash

pridame k JSONField

(db_index = True)

Autor článku: Svetlana Margetová

Nanooq IT

Written by

Nanooq IT

We write about our work, ideas, projects and interesting IT topics

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade