Сопоставить строку с базой данных в django / python - PullRequest
0 голосов
/ 12 июня 2018

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

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

 sentence="I want to study Environmental Studies"

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

Class_A

   id                     subject
    1                     Environmental Studies
    2                     Physical education


Class_B

   Id                     subject
    1                     Social Science
    2                     Computer Management
    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 слов субъекта.

...