harvest-vocab

Software kuvakaappaus:
harvest-vocab
Ohjelmiston tiedot:
Versio: 0.9.1 Beta 8
Lähetyksen päivämäärä: 14 Apr 15
Kehittäjä: Byron Ruth
Lupa: Vapaa
Suosio: 16

Rating: nan/5 (Total Votes: 0)

sato-vocab on Harvest Stack sovellus tarjoaa abstrakteja malleja määritellään sanastossa kaltaisia ​​malleja ja rakentaa vastaava indeksi hierarkkinen itse liittyviä tietoja.
Esimerkiksi tämä on miten voisit määritellä malleja tallentamiseen ICD9 koodit:
alkaen vocab.models tuoda AbstractItem, AbstractItemIndex
luokan Diagnoosi (AbstractItem):
& Nbsp; kuvaus = models.CharField (MAX_LENGTH = 50)
& Nbsp; code = models.CharField (MAX_LENGTH = 10)
& Nbsp; vanhempi = models.ForeignKey ("itse", related_name = "lapset")
ICD9 koodit ovat hierarkkinen siis kun olen kysymässä, "Anna minulle kaikki potilaat, joilla on diagnoosi ICD9 367 (häiriöt taittuminen ja majoitus)", niin tämä olisi paitsi kyselyn 367, mutta kaikki jälkeläinen diagnoosit sekä (joka sisältää toinen 2 tasoa).
Tällainen kysely tulee vaikea kirjoittaa, koska sinulla on pääsy vain suora vanhempi tietyn diagnoosin, mikä kyselyn näyttää tältä.
alkaen django.db.models tuonti Q
Diagnosis.objects.filter (Q (koodi = '367') | Q (parent__code = '367'))
Ilmeinen ongelma tässä on, että kaikki diagnoosit 2+ tasot alas "367", ei sisälly.
Luo Flat Index
Voit lievittää ongelman AbstractItemIndex alaluokka voidaan määritellä joka rakentaa tasainen indeksi AbstractItem alaluokka. Yksinkertaisesti määritellä näin:
luokan DiagnosisIndex (AbstractItemIndex):
& Nbsp; erä = models.ForeignKey (Diagnosis, related_name = 'item_indexes')
& Nbsp; vanhempi = models.ForeignKey (Diagnosis, related_name = 'parent_indexes')
# Rakentaa indeksi Diagnoosi
DiagnosisIndex.objects.index ()
Viimeinen rivi luo tasainen indeksi hierarkian joka lievittää tuntematon syvyys kysymys. Joten nyt, sama kysymys edellä voidaan vastata tällä tavalla:
# Joko kohde on tämä koodi tai jokin sen vanhemmista on tämän koodin
ehto = Q (item__code = '367') | Q (parent__code = '367')
item_ids = DiagnosisIndex.objects.filter (ehto) .values_list (item__id ", litteä = True)
diagnoosit = Diagnosis.objects.filter(id__in=item_ids)

Requirements:

  • Python

Muu ohjelmistojen kehittäjä Byron Ruth

django-serrano
django-serrano

20 Feb 15

django-forkit
django-forkit

11 May 15

django-avocado
django-avocado

14 Apr 15

Kommentit harvest-vocab

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!