def select(request): qs = Drug.objects.all() mai = MAI(criterion.get_matrix()) pks = [item.pk for item in qs] for cr in criterion.iter(): alternative = Matrix() for drug in qs: alternative.append(CompareValue.matrix_row(cr, drug.pk, pks)) mai.add_alter(alternative) result = [item for item in mai()] for i in range(len(result)): print '%s - %s' % (qs[i].pk, result[i]) return HttpResponse('Text!')
def search(self): self._alters = [] cr_matrix = criterion.get_matrix(int(self.cleaned_data['type'])) if not self.cleaned_data['farm']: return [] qs = self._get_qs(self.cleaned_data['farm'], self.cleaned_data['strong']) pks = [item.pk for item in qs] if not pks: return [] mai = MAI(cr_matrix, qs) for cr in criterion.iter(): alternative = Matrix() print cr[1] for drug in qs: print drug print CompareValue.matrix_row(cr, drug.pk, pks) alternative.append(CompareValue.matrix_row(cr, drug.pk, pks)) self._alters.append({ 'cr': cr, 'm': alternative }) mai.add_alter(alternative) return mai.sort()
def __init__(self): self._items = [] m = Matrix() m.append([1, 1, 1, 1]) m.append([1, 1, 1, 1]) m.append([1, 1, 1, 1]) m.append([1, 1, 1, 1]) view = """ [1, 1, 1, 1] [1, 1, 1, 1] [1, 1, 1, 1] [1, 1, 1, 1] """ self._items.append(Critery(u'Среднестатистический', m, view, True)) m = Matrix() m.append([1, 1/2., 1, 1/3.]) m.append([2, 1, 1/5., 1/3.]) m.append([1, 1/5., 1, 1 ]) m.append([1/3., 1/3., 1, 1 ]) view = """ [1, 1/2, 1, 1/3] [2, 1, 1/5, 1/3] [1, 1/5, 1, 1 ] [1/3, 1/3, 1, 1 ] """ self._items.append(Critery(u'Средний', m, view)) m = Matrix() m.append([1, 3, 3, 1/2.]) m.append([1/3., 1, 2, 1/2.]) m.append([1/3., 1/2., 1, 1/4.]) m.append([2, 2, 4, 1 ]) view = """ [1, 3, 3, 1/2] [1/3, 1, 2, 1/2] [1/3, 1/2, 1, 1/4] [2, 2, 4, 1 ] """ self._items.append(Critery(u'Женщины', m, view)) m = Matrix() m.append([1, 5, 1, 1/3.]) m.append([1/5., 1, 1/3., 1/7.]) m.append([1, 3, 1, 1/3.]) m.append([3, 7, 3, 1 ]) view = """ [1, 5, 1, 1/3] [1/5, 1, 1/3, 1/7] [1, 3, 1, 1/3] [3, 7, 3, 1 ] """ self._items.append(Critery(u'Беременные, дети', m, view, illness=[3])) m = Matrix() m.append([1, 9, 5, 1]) m.append([1/9., 1, 1/9., 1/9.]) m.append([1/5., 9, 1, 1/5.]) m.append([1, 9, 5, 1]) view = """ [1, 9, 5, 1 ] [1/9, 1, 1/9, 1/9] [1/5, 9, 1, 1/5] [1, 9, 5, 1 ] """ self._items.append(Critery(u'Богатые', m, view))