harvest-vocab

Screenshot Software:
harvest-vocab
Szczegóły programowe:
Wersja: 0.9.1 Beta 8
Filmu: 14 Apr 15
Wywoływacz: Byron Ruth
Licencja: Wolny
Popularność: 1

Rating: nan/5 (Total Votes: 0)

żniwa-vocab jest aplikacja zbiorów Stos zapewnia abstrakcyjnych modeli definiowania modeli słownictwo-jak i budowanie odpowiedni indeks dla hierarchicznych danych związanych własny.
Na przykład, jest to, jak można zdefiniować modele do przechowywania kodów ICD9:
z vocab.models importować AbstractItem, AbstractItemIndex
Klasa Diagnoza (AbstractItem):
& Nbsp; Opis = models.CharField (max_length = 50)
& Nbsp; kod = models.CharField (max_length = 10)
& Nbsp; rodzic = models.ForeignKey ("ja", related_name = "dzieci")
Kody ICD9 są hierarchiczną więc kiedy zadawać pytania, "Daj mi wszyscy pacjenci, którzy mają diagnozę w ICD9 367 (zaburzenia refrakcji i zakwaterowania)", to powinno nie tylko zapytanie 367, ale wszystkie diagnozy potomkiem, jak również (co obejmuje kolejne 2 poziomy).
Ten rodzaj zapytania staje się trudne do napisania, ponieważ masz tylko dostęp do bezpośredniego rodzica konkretnej diagnozy, więc zapytanie będzie wyglądać tak.
z django.db.models importu Q
Diagnosis.objects.filter (Q (kod = "367") | Q (parent__code = "367"))
Oczywistym problemem jest to, że każdy diagnozuje 2+ poziomy w dół od "367" nie są wliczone w cenę.
Tworzenie płaskiej Główna
Aby rozwiązać ten problem, AbstractItemIndex podklasa można określić, które będą budować płaską indeks podklasy AbstractItem. Wystarczy zdefiniować tak:
Klasa DiagnosisIndex (AbstractItemIndex):
& Nbsp; poz = models.ForeignKey (Diagnoza, related_name = 'item_indexes')
& Nbsp; rodzic = models.ForeignKey (Diagnoza, related_name = 'parent_indexes')
# Buduje indeks Diagnozy
DiagnosisIndex.objects.index ()
Ostatnia linia generuje płaską indeks hierarchii, która łagodzi nieznany problem głębokości. Więc teraz, to samo pytanie wskazano powyżej można odpowiedzieć w ten sposób:
# Albo element ma ten kod lub jedno z rodziców jest to jest ten kod
Stan = P (item__code = "367") | Q (parent__code = "367")
item_ids = DiagnosisIndex.objects.filter (warunek) .values_list ("item__id", płaskie = True)
diagnozuje = Diagnosis.objects.filter(id__in=item_ids)

Requirements:

  • Python

Inne programy z deweloperem Byron Ruth

Marky
Marky

20 Feb 15

django-avocado
django-avocado

14 Apr 15

django-serrano
django-serrano

20 Feb 15

django-forkit
django-forkit

11 May 15

Komentarze do harvest-vocab

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!