harvest-vocab

Software screenshot:
harvest-vocab
Podrobnosti Software:
Verze: 0.9.1 Beta 8
Datum uploadu: 14 Apr 15
Vývojka: Byron Ruth
Licence: Volný
Popularita: 16

Rating: nan/5 (Total Votes: 0)

sklizeň-Slovní zásoba je aplikace Harvest Stack poskytuje abstraktní modely pro definování slovní zásoby, jako modely a vybudování odpovídající rejstřík hierarchických dat samostatně účely.
Například, to je to, jak byste mohli definovat modely pro uložení ICD9 kódy:
od vocab.models import AbstractItem, AbstractItemIndex
třída Diagnosis (AbstractItem):
& Nbsp; description = models.CharField (MAX_LENGTH = 50)
& Nbsp; code = models.CharField (MAX_LENGTH = 10)
& Nbsp; rodič = models.ForeignKey ("já", related_name = "děti")
ICD9 kódy jsou hierarchické a proto, když jsem se zeptat na otázky, "dej mi všichni pacienti, kteří mají diagnózu v ICD9 367 (poruchy refrakce a ubytování)", pak by to nejen dotaz 367, ale všechny potomek diagnózy také (což zahrnuje další 2 úrovně).
Tento druh dotazu obtížné psát, protože budete mít přístup k přímému nadřazené konkrétní diagnózu jen, tedy dotaz bude vypadat takto.
od django.db.models dovozu Q
Diagnosis.objects.filter (Q (code = "367") | Q (parent__code = "367"))
Zřejmý Problém je, že každý diagnózy 2+ úrovní dolů z "367" nejsou zahrnuty.
Vytvořit plochou index
Chcete-li tento problém zmírnit, AbstractItemIndex podtřída může být definován, která bude stavět rovnou index o AbstractItem podtřídy. Jednoduše jej definovat takto:
třída DiagnosisIndex (AbstractItemIndex):
& Nbsp; item = models.ForeignKey (diagnóza related_name = "item_indexes")
& Nbsp; rodič = models.ForeignKey (diagnóza related_name = "parent_indexes")
# Staví index pro diagnostiku
DiagnosisIndex.objects.index ()
Poslední řádek generuje plochý index hierarchie, která zmírňuje neznámé hloubky problému. Takže teď, stejná otázka výše uvedené lze odpovědět takto:
# Buď položka má tento kód nebo jeden z jeho rodičů tento kód
stav = Q (item__code = '367') | Q (parent__code = '367')
item_ids = DiagnosisIndex.objects.filter (podmínka) .values_list ("item__id ', plochý = True)
diagnózy = Diagnosis.objects.filter(id__in=item_ids)

Requirements:

  • Python

Ostatní software developer Byron Ruth

django-avocado
django-avocado

14 Apr 15

django-redcap
django-redcap

15 Apr 15

django-forkit
django-forkit

11 May 15

django-tracking2
django-tracking2

14 Apr 15

Komentáře k harvest-vocab

Komentáře nebyl nalezen
Přidat komentář
Zapnout obrázky!