Match string with database in django/python

Обновить

November 2018

Просмотры

34 раз

2

Пользователь будет приходить на сайт и заполнить регистрационную форму. Регистрационная форма имеет вопрос отображается под какие предметы вы хотите учиться?

Ответ пользователя - Я хочу, чтобы изучить экологические исследования.

 sentence="I want to study Environmental Studies"

У меня есть база данных 2 показаны ниже. Теперь ответ пользователя должен совпадать с таблицей одной базы данных с максимальной точностью, Совпадение таблицы базы данных с максимальной точностью должна выбрано. Я не в состоянии соответствовать с точностью.

Class_A

   Заголовок идентификатор
    1 Экологические исследования
    2 Физическое воспитание


Class_B

   Id субъект
    1 обществознание
    Управление 2 компьютера
    3 Hindi

views.py

def submission(request):
    obj = Registration.objects.latest('id')
    obj1 = Registration.objects.filter(name__contains=obj1)
    for a in obj1:
        sentence= a.subject
        word = sentence.split()
        class_a=class_A.objects.all()
        class_b=class_B.objects.all()

        if Class_a.filter(subject__in=word).exists():
            return render(request,'data/submission.html',{'Class':'Your Are in Class A'})
        elif Class_b.filter(subject__in=word).exists():
            return render(request, 'data/submission.html', {'Class': 'You are in Class B'})

Система работает нормально с одним словом темы добавлена ​​в базе данных таблицы Как хинди, английский ( «Я хочу изучать хинди.»). Но когда 2 слова или 3 слова Тема добавлена ​​в таблице базы данных, как физическое образование или исследования окружающей среды. Тогда система не работает. Подобно этому, если пользователь заполняет регистрационную форму, написав: «Я хочу, чтобы изучить исследования окружающей среды.» , Тогда оно не спички из 2 слов предметных.

0 ответы