用户将登陆网站填写注册表。登记表有一个问题如下 你想学习哪些科目?
用户回答 - 我想学习印地语和英语
sentence="I want to study Hindi and english"
我在下面显示了2个数据库。现在,用户的答案应该与一个数据库表匹配,并且具有最大的准确性,应该选择与最大精度匹配的数据库表。 如果用户以不同的方式写作
,我无法与准确性相匹配
- 我正在学习印地语和英语
- 我想学习印地语和英语。
醇>
以上两句话的含义相同,但我没有正确地与数据库表进行适当的匹配。请帮我解决这个问题。
数据库:
Class_A
id subject
1 Hindi
2 English
3 Physics
Class_B
Id subject
1 Hindi
2 Math
3 Science
view.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 in word:
return render(request,'data/submission.html',{'Class':'Your Are in Class A'})
elif class_b in word:
return render(request, 'data/submission.html', {'Class': 'You are in Class B'})
注册是用户注册数据库表。
答案 0 :(得分:0)
看起来需要icontains
if class_a.filter(subject__icontains=word).exists():
示例中的更多细节:
class Class_A(models.Model):
subject = models.CharField(max_length=15, null=True, blank=True)
In [9]: Class_A.objects.values_list('subject', flat=True)
Out[9]: ['Hindi', 'English', 'Physics']
In [10]: Class_A.objects.filter(subject__icontains='Hindi').exists()
Out[10]: True
In [11]: word = ['i', 'want', 'to', 'study', 'Hindi', 'and', 'english']
In [12]: Class_A.objects.filter(subject__in=word).exists()
Out[12]: True