构建于 this question ,现在我有另一个问题。鉴于此,
shipments = Shipment.objects.filter(filter).exclude(**exclude).order_by(order) \
.annotate(num_bids=Count('bids'), min_bid=Min('bids__amount'), max_bid=Max('bids__amount')) \
.select_related('pickup_address','dropoff_address','billing_address')
return HttpResponse(simplejson.dumps(list(shipments.values()), ensure_ascii=False, default=json_formatter), mimetype='application/json')
它实际上并不包含 JSON 中的 pickup_address
等。我怎样才能让它包含相关字段?
最佳答案
您可以使用包含装运字典的列表推导式,并填写相关对象。此 API 为客户端提供每个地址的显式名称。位置符号使得运送到帐单地址变得非常容易。 Josh Block's "How to Design a Good API and Why it Matters"值得一读。
shipments = [{
'shipment':s,
'pickup_address': s.pickup_address,
'dropoff_address': s.dropoff_address,
'billing_address': s.billing_address,
} for s in shipments]
return HttpResponse(simplejson.dumps(shipments, ensure_ascii=False, default=json_formatter), mimetype='application/json')
关于python - Django:在 JSON 字符串中包含相关模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4039019/