harvest-vocab

Software skärmdump:
harvest-vocab
Mjukvaruinformation:
Version: 0.9.1 Beta 8
Ladda upp dagen: 14 Apr 15
Utvecklare: Byron Ruth
Licens: Gratis
Popularitet: 1

Rating: nan/5 (Total Votes: 0)

skörden-Vocab är ett Harvest Stack app ger abstrakta modeller för att definiera ordförråd liknande modeller och bygga ett motsvarande index för hierarkiska självrelaterade data.
Till exempel är det här hur du kan definiera modeller för lagring ICD9 koder:
från vocab.models importera AbstractItem, AbstractItemIndex
klass Diagnos (AbstractItem):
& Nbsp; description = models.CharField (MAX_LENGTH = 50)
& Nbsp; code = models.CharField (MAX_LENGTH = 10)
& Nbsp; förälder = models.ForeignKey ("jag", related_name = "barn")
ICD9 koder är hierarkisk därför när jag ställer frågorna, "Ge mig alla patienter som har en diagnos i ICD9 367 (Sjukdomar i refraktion och logi)", skall detta inte bara fråga 367, men alla ättling diagnoser samt (vilket inkluderar ytterligare 2 våningar).
Denna typ av fråga blir svårt att skriva eftersom du bara har tillgång till den direkta förälder av en viss diagnos, alltså frågan skulle se ut så här.
från django.db.models import Q
Diagnosis.objects.filter (Q (kod = '367') | Q (parent__code = '367'))
Det uppenbara problemet här är att alla diagnoser 2 + nivåer ner från "367" inte ingår.
Skapa en Flat index
För att lindra detta problem, kan definieras en AbstractItemIndex underklass som kommer att bygga en platt index för en AbstractItem underklass. Helt enkelt definiera det så här:
klass DiagnosisIndex (AbstractItemIndex):
& Nbsp; objekt = models.ForeignKey (Diagnos, related_name = "item_indexes")
& Nbsp; förälder = models.ForeignKey (Diagnos, related_name = "parent_indexes")
# Bygger index för diagnos
DiagnosisIndex.objects.index ()
Den sista raden genererar en platt index i hierarkin som lindrar den okända djup frågan. Så nu, kan samma fråga anges ovan besvaras på detta sätt:
# Antingen objektet har denna kod eller en av det föräldrar har denna kod
villkor = Q (item__code = '367') | Q (parent__code = '367')
item_ids = DiagnosisIndex.objects.filter (villkor) .values_list ('item__id', platt = sant)
diagnoser = Diagnosis.objects.filter(id__in=item_ids)

Requirements:

  • Python

Annan programvara för utvecklare Byron Ruth

django-serrano
django-serrano

20 Feb 15

django-forkit
django-forkit

11 May 15

django-tracking2
django-tracking2

14 Apr 15

Kommentarer till harvest-vocab

Kommentarer hittades inte
Kommentar
Slå på bilder!