python - Django:在 JSON 字符串中包含相关模型?

标签 python django json

构建于 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/

相关文章:

python - Django 中的性能、负载和压力测试

python - 解析嵌套的 JSON 响应 Python

java - Spring MVC @RequestBody 接收具有非原始属性的对象包装器

json - 在 ReactJS 中解析 JSON 数据

python - 使用 "re.sub"在 python 中剥离代码

python - 使用Elasticsearch DSL索引数据时出错

python - SQLAlchemy 强制左连接

python - 删除/隐藏 django admin 编辑用户表单中的用户名字段

python - SQLalchemy 找不到用于创建外键的表

python - 尝试为日期单元格着色时出现问题