在django/python中将字符串与数据库匹配
一个用户将出现在网站上并填写登记表。注册表格下面显示了一个问题,您想学习哪些科目 用户回答-我想学习环境研究在django/python中将字符串与数据库匹配,python,django,django-views,Python,Django,Django Views,一个用户将出现在网站上并填写登记表。注册表格下面显示了一个问题,您想学习哪些科目 用户回答-我想学习环境研究 sentence="I want to study Environmental Studies" 我有2个数据库显示在下面。现在,用户的答案应该与一个最大精度的数据库表匹配,应该选择与最大精度匹配的数据库表。我无法精确地匹配 Class_A id subject 1 Environment
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
该系统运行良好,在数据库表中添加了一个单词subject,如印地语、英语(“我想学习印地语”)。但当在数据库表中添加2个单词或3个单词的主题时,如体育或环境研究。那么这个系统就不工作了。比如,如果用户填写注册表时写下“我想学习环境研究”,那么它就不匹配了,因为有两个单词主题。您可能想在查询中使用。您为什么创建一个表单,希望用户键入一个句子,而不是从列表中选择?
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'})