我使用Django 1.8,GeoDjango和PostGIS。我使用HttpResponse
返回一些以GeoJSON:Django的GeoJSON序列化程序不能序列化所有字段?
from django.http import HttpResponse, JsonResponse
code = request.GET.get('q', '')
results = PCT.objects.filter(Q(code__startswith=code) |
Q(name__icontains=code))
results = results.filter(org_type='CCG')
for result in results:
print result.code
geo_field = 'boundary'
fields = ('name', 'code', 'ons_code', 'org_type', 'boundary',)
return HttpResponse(serialize('geojson', results,
geometry_field=geo_field, fields=fields),
content_type='application/json')
在控制檯此打印code
場就好了:
99N
但以GeoJSON返回沒有properties.code
場。它有一個properties.name
,properties.org_type
和properties.ons_code
場雖然。
這是爲什麼?或許是code
保留名稱?如果是這樣,我該如何解決這個問題?
可能是「代碼」並不時,它的無或有沒有存在的價值,我看到控制檯「99N」打印的值出現一次,沒有結果列表只有一個對象?我們可以看到整個迴應? –
我相信這是因爲* *''code''不是[以GeoJSON](http://geojson.org/geojson-spec.html#feature-objects)規範的有效部分或媒體資源相關聯並且是無效的以序列化形式放入Feature對象。 ''django-geojson''在這裏正在做*正確的事情。 –
@Richard:我已經盡力回答你的問題,如果沒有幫助,我會很樂意地改進答案。你可以請示出你的模型是什麼,並且沒有過濾器序列化對象的輸出是? –