Python django tastypie获取相关列总金额
鉴于下面来自tastypie的JSON结果,我想在check.payments_total处创建一个新值,该值等于付款总额(在本例中为44.00)。你知道怎么做吗?我完全被难住了。付款是支票表的联接外键Python django tastypie获取相关列总金额,python,django,rest,tastypie,Python,Django,Rest,Tastypie,鉴于下面来自tastypie的JSON结果,我想在check.payments_total处创建一个新值,该值等于付款总额(在本例中为44.00)。你知道怎么做吗?我完全被难住了。付款是支票表的联接外键 { "objects": [ { "check": { "id": "58a81b36-1ea6-403b-9902-a50cbd13cf2e", "number": 2, "payments": [
{
"objects": [
{
"check": {
"id": "58a81b36-1ea6-403b-9902-a50cbd13cf2e",
"number": 2,
"payments": [
{
"amount": "5.00",
},
{
"amount": "39.00",
}
]
}
}
]
}
如果用于响应,则可以重写资源中的以下方法(代码段来自
tastype.resources.resource
):
只是包含一些(如未经测试,考虑为伪代码):
你应该这样做。你想在回复中获得付款总额还是DB中的所有付款总额?我想:对于回复,信息就这么多了。我会尽快实施这一计划,并让你知道进展如何。
def alter_list_data_to_serialize(self, request, data):
"""
A hook to alter list data just before it gets serialized & sent to the user.
Useful for restructuring/renaming aspects of the what's going to be
sent.
Should accommodate for a list of objects, generally also including
meta data.
"""
return data
total_amount = 0.0
for object in data[ 'objects' ]:
total_amount += object[ 'amount' ]
return { 'objects' : data[ 'objects' ], 'total_amount' : total_amount }