1

私には1つのことがあり、提案する必要があります。これについて私を助けてください。

私のシナリオは次のとおりです。このテーブルに注文コードのようなモデルが1つあり、プレフィックスのようなものがあります

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

もっと。次に、12345678のような文字列があり、この文字列に最もよく一致する必要があります。

ユーザーが12345678を入力した場合、ベストマッチは12 |カナダ、ユーザーが135678975を入力した場合、ベストマッチは13 |英国、ユーザーが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 に答える