我有一件事需要建议。请帮帮我。
我的情景是: 我有一个类似订单的模型 在这张表中我有像
这样的前缀1 | US
12 | Canada
13 | UK
134 | Australia
等等。 那么,我的字符串就像12345678,我需要得到这个字符串的最佳匹配。
如果用户输入12345678最佳匹配是12 |加拿大,如果用户输入135678975最佳匹配是13 |英国,如果用户输入1345676788最佳匹配是134。
如何在django查询中执行此操作?
谢谢,
答案 0 :(得分:1)
它将需要多个请求来检查给定订单代码中的每个字符...
def get_matching_country(order_num):
i = 1
matching_req = Country.objects.none()
while true:
req = Country.objects.filter(country_code=order_num[:i])
if res.exists():
matching_req = req
i += 1
else:
break
return matching_req
答案 1 :(得分:-1)
def match_country(request, string):
qs = Country.objects.filter(country_code__startswith=string) #or int(string) but you might want to write an exception if person provides a letters in that numbers.
return ...
您是否已将国家/地区代码保存为字符串或整数?