在django / python中将字符串与数据库匹配

时间:2018-06-12 12:06:11

标签: python django django-views

用户将登陆网站填写注册表。报名表上有一个问题,您想学习哪些科目?

用户回答 - 我想学习环境研究。

 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个单词主题不匹配。

0 个答案:

没有答案