假设我有一个带有邮政编码字段的地址模型.我可以用以下行查找邮政编码以"123"开头的地址:
Address.objects.filter(postcode__startswith="123")
现在,我需要做这个搜索"相反的方向".我有一个带有POSTCODE_PREFIX字段的地址模型,我需要检索POSTCODE_PREFIX是给定代码的前缀的所有地址,比如"12345".因此,如果我的数据库中有两个邮政编码_前缀分别为"123"和"234"的地址,则只会返回第一个地址.
比如:
Address.objects.filter("12345".startswith(postcode_prefix))
问题是这不起作用.
Address.objects.filter(postcode_prefix__startswith="12345"[0])
然后,当我得到结果时,列出一个正确过滤它们的列表,如下所示:
results = [r for r in results if "12345".startswith(r.postcode_prefix)]
在Django 有更好的方法吗?