【发布时间】:2022-01-14 13:53:30
【问题描述】:
class TransactionHistoryListSerializer(serializers.BaseSerializer):
class Meta:
model = CustomerVisit
def to_representation(self, instance):
price = 0
package_price = booking_models.TestBooking.objects.filter(customer_visit=instance).values_list(
"package__test__test_mrp", flat=True
)[0]
for price in package_price:
pass
return {
"visit_id": instance.id,
"customer_name": {
"salutation": instance.customer.salutation,
"first_name": instance.customer.first_name,
"middle_name": instance.customer.middle_name,
"last_name": instance.customer.last_name,
},
"dob": instance.customer.date_of_birth,
"amount": sum([k.amount for k in booking_models.TestBooking.objects.filter(customer_visit=instance)])
+ (price if price else 0),
"discount": sum([k.discount for k in booking_models.TestBooking.objects.filter(customer_visit=instance)]),
"paid_amount": sum([k.amount for k in payment_models.Payment.objects.filter(customer_visit=instance)]),
}
这里 tes_mrp 是浮点型。
我搜索并获得了使用列表理解的解决方案,但仍然无法正常工作。我试过[[price] for price in package_price],for price in package_price: a = list(str(price)),但仍然得到浮动对象是不可迭代的。我肯定做错了什么。有人可以帮忙吗。谢谢!!
【问题讨论】:
-
您应该显示回溯到出现错误的行。您的代码中有很多地方可以做到这一点。
-
我的错,我会从下一次开始处理它。这导致了这一行 - 对于 package_price 中的价格:
标签: python django django-rest-framework