harvest-vocab

Screenshot Software:
harvest-vocab
Detalii soft:
Versiune: 0.9.1 Beta 8
Incarca data: 14 Apr 15
Producător: Byron Ruth
Licenţă: Gratuit
Popularitate: 16

Rating: nan/5 (Total Votes: 0)

recoltare-vocabular este o aplicatie de recoltă stiva prevede modele abstracte pentru definirea modele de vocabular ca și construirea unui indice corespunzător pentru a datelor legate de auto-ierarhice.
De exemplu, acesta este modul în care ar putea defini modele pentru stocarea coduri ICD9:
de la vocab.models import AbstractItem, AbstractItemIndex
Diagnosticul de clasă (AbstractItem):
& Nbsp; descriere = models.CharField (MAX_LENGTH = 50)
& Nbsp; cod = models.CharField (MAX_LENGTH = 10)
& Nbsp; mamă = models.ForeignKey ('sine', related_name = "copii")
Codurile ICD9 sunt ierarhice, prin urmare, atunci când am pune întrebări, "Dă-mi toți pacienții care au un diagnostic în ICD9 367 de (Tulburari de refracție și cazare)", atunci aceasta ar trebui să nu numai de interogare 367, dar toate diagnostice descendente precum și (care include inca 2 nivele).
Acest tip de interogare devine dificil de a scrie, deoarece aveți acces la mamă directă a unui anumit diagnostic numai, astfel interogarea ar arata ca aceasta.
de la django.db.models import Q
Diagnosis.objects.filter (Q (cod = '367') | Q (parent__code = '367'))
Evident Problema aici este că orice diagnostice 2+ niveluri derulează de la "367" nu sunt incluse.
Creați un Index plat
Pentru a atenua această problemă, o subclasă AbstractItemIndex pot fi definite ce va construi un indice de apartament pentru o subclasă AbstractItem. Pur și simplu se definesc ca aceasta:
clasă DiagnosisIndex (AbstractItemIndex):
& Nbsp; articol = models.ForeignKey (Diagnostic, related_name = "item_indexes")
& Nbsp; mamă = models.ForeignKey (Diagnostic, related_name = "parent_indexes")
# Construiește indicele de Diagnostic
DiagnosisIndex.objects.index ()
Ultima linie generează un indice plată a ierarhiei care ameliorează problema adâncime necunoscută. Deci, acum, aceeași întrebare menționat mai sus poate fi răspuns în acest fel:
# Fie elementul are acest cod sau unul dintre părinți se are acest cod
Stare = Q (item__code = '367') | Q (parent__code = '367')
item_ids = DiagnosisIndex.objects.filter (conditie) .values_list ("item__id ', plat = True)
diagnostice = Diagnosis.objects.filter(id__in=item_ids)

Requirements:

  • Python

Alte software-uri de dezvoltator Byron Ruth

django-serrano
django-serrano

20 Feb 15

django-tracking2
django-tracking2

14 Apr 15

django-forkit
django-forkit

11 May 15

Marky
Marky

20 Feb 15

Comentarii la harvest-vocab

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!