1

我有一件事需要建议。请帮助我。

我的情况是:我在这个表中有一个模型,比如 ordercode 我有前缀

1  | US
12 | Canada
13 | UK
134 | Australia 

和更多。然后,我有像 12345678 这样的字符串,我需要得到这个字符串的最佳匹配。

如果用户输入 12345678 最佳匹配是 12|Canada ,如果用户输入 135678975 最佳匹配是 13|Uk,如果用户输入 1345676788 最佳匹配是 134。

我怎么能在 django 查询中做到这一点?

谢谢,

4

2 回答 2

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
于 2013-03-21T08:43:52.310 回答
-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 ...

您是否将国家代码保存为字符串或整数?

于 2013-03-21T08:26:19.183 回答