harvest-vocab

Софтуер снимки:
harvest-vocab
Софтуер детайли:
Версия: 0.9.1 Beta 8
Дата на качване: 14 Apr 15
Розробник: Byron Ruth
Разрешително: Безплатно
Популярност: 1

Rating: nan/5 (Total Votes: 0)

реколтата-Vocab е Harvest Stack приложение осигурява абстрактни модели за определяне лексика, подобни модели и изграждане на съответния индекс за йерархични данни самостоятелно свързани.
Например, това е начина, по който би могъл да определи модели за съхраняване ICD9 кодове:
от vocab.models внасят AbstractItem, AbstractItemIndex
клас Диагностика (AbstractItem):
& Nbsp; описание = models.CharField (MAX_LENGTH = 50)
& Nbsp; код = models.CharField (MAX_LENGTH = 10)
& Nbsp; майка = models.ForeignKey ("аз", related_name = "деца")
ICD9 кодове са hierachical Затова, когато аз задавам въпросите, "Дайте ми всички пациенти, които имат диагноза в ICD9 367 (Нарушения на рефракцията и настаняване)", то това трябва не само заявка 367, но всички потомък диагнози, както и (което включва още 2 нива).
Този вид заявка става трудно да пиша, тъй като имате достъп до пряка майка на дадена диагноза само по този начин заявката ще изглежда така.
от django.db.models внос Q
Diagnosis.objects.filter (Q (код = "367") | Q (parent__code = "367"))
Очевидният Проблемът тук е, че всички диагнози 2+ нива откъм "367" не са включени.
<Силен> Създай Flat Index
За да се избегне този проблем, за AbstractItemIndex подклас може да се определи, която ще се изгради жилищна индекс за AbstractItem подклас. Просто го определят като този:
клас DiagnosisIndex (AbstractItemIndex):
& Nbsp; т = models.ForeignKey (Диагностика, related_name = "item_indexes")
& Nbsp; майка = models.ForeignKey (Диагностика, related_name = "parent_indexes")
# Изгражда индекса за диагностика
DiagnosisIndex.objects.index ()
Последният ред генерира плосък индекс на йерархията, която облекчава неизвестна дълбочина въпроса. Така че сега, по един и същ въпрос е посочено по-горе може да се отговори по следния начин:
# Или елементът има този кодекс или на един от него родителите е този код
състояние = Q (item__code = "367") | Q (parent__code = "367")
item_ids = DiagnosisIndex.objects.filter (състояние) .values_list ("item__id", плосък = True)
диагнози = Diagnosis.objects.filter(id__in=item_ids)

Requirements:

  • Python

Друг софтуер на разработчика Byron Ruth

django-avocado
django-avocado

14 Apr 15

django-forkit
django-forkit

11 May 15

Marky
Marky

20 Feb 15

Коментари към harvest-vocab

Коментари не е намерена
добавите коментар
Включете на изображения!