查询1:
nearestzips = PostalCode.objects.distance(PostalCode.objects.get(code='user.zipcode').location).order_by('distance')[:9]
print nearestzips
>>>[<PostalCode=97202>, <PostalCode=97201>, <PostalCode=97215>, <PostalCode=97239>, <PostalCode=97214>]
查询2:
latest_entries = Entry.objects.filter(zipcode__in=nearestzips.values())
print latest_entries
>>>TypeError: Cannot use a multi-field GeoValuesQuerySet as a filter value.
我想拍摄最近的&#39;其中包含5个邮政编码,以及与这些邮政编码匹配的查询条目,但我收到上述错误。有什么建议吗?
答案 0 :(得分:2)
不要使用.values(),而是将.values_list()与您想要匹配的字段一起使用:
latest_entries = Entry.objects.filter(zipcode__in=nearestzips.values_list('myField', flat=True))