Phi*_*tua 5 django django-views python-3.x django-rest-framework
我已经实现了一个基于类的视图,其中包含一个GET获取每个工资单细节的方法id.如何将其添加到net_allowance工资单中,object以便JSON看起来像这样:
{
"employee__user__id": 2,
"payslip_no": "GGT5698",
"employee__user__first_name": "Nick",
"basic_salary__salary_value": 80000.0,
"net_allowances": 5400.0,
"total_deductions": 2500.0,
"payment_mode__name": "Bank",
"month_ending": "2018-03-16",
"employee__user__last_name": "Cannon"
}
class PayrollView(APIView):
def get(self, request, pk, format=None):
try:
payslip = Payslip.objects.filter(id=pk).prefetch_related('user', 'employee').values(
'payment_mode__name', 'payslip_no', 'allowances__amount', 'deductions__amount', 'month_ending', 'basic_salary__salary_value', 'employee__user__last_name', 'employee__user__first_name', 'employee__user__id'
)
net_allowance = payslip.aggregate(
net_allowance=Sum('allowances__amount'))
except Exception as e:
# print(e)
return Response(data=e, status=status.HTTP_400_BAD_REQUEST)
return Response(data=payslip, status=status.HTTP_200_OK)
Run Code Online (Sandbox Code Playgroud)
尝试这个
payslip = Payslip.objects.filter(id=pk).prefetch_related('user', 'employee')
result = payslip.aggregate(
net_allowance=Sum('allowances__amount')).values(
'payment_mode__name', 'payslip_no', 'allowances__amount','deductions__amount', 'month_ending', 'basic_salary__salary_value',
'employee__user__last_name', 'employee__user__first_name',
'employee__user__id','net_allowance'
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
57 次 |
| 最近记录: |