我有一个已支付的价值清单,并希望显示已支付的总金额.我使用Aggregation和Sum来一起计算值.问题是,我只想要打印出总值,但是聚合打印出:( {'amount__sum': 480.0}480.0是总增加值.
在我看来,我有:
from django.db.models import Sum
total_paid = Payment.objects.all.aggregate(Sum('amount'))
Run Code Online (Sandbox Code Playgroud)
为了显示页面上的值,我有一个mako模板,其中包含以下内容:
<p><strong>Total Paid:</strong> ${total_paid}</p>
Run Code Online (Sandbox Code Playgroud)
如何让它显示480.0而不是{'amount__sum': 480.0}?
我有一个表单,使用不同的模型并使用直通(中间)模型:
class CourseBooking(BaseModel):
'''Intermediary model linking a person on a course with the related booking'''
course = ForeignKey('ScheduledCourse')
customer = ForeignKey('Customer')
booking = ForeignKey('GroupBooking', blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)
表单使用基本表单而不是模型表单,手动添加字段:
class CourseBookingForm(Form):
course = ModelChoiceField(queryset=ScheduledCourse.objects.all())
title = CharField(
max_length=255,
widget=Select(choices=TITLE_CHOICES),
required=False
)
gender = CharField(
max_length=255,
widget=Select(choices=GENDER_CHOICES),
required=False
)
first_name = CharField(max_length=255)
surname = CharField( max_length=255)
dob = DateField(required=False)
medical = CharField(required=False, widget = forms.Textarea(attrs={'rows': '4'}))
# miscellaneous notes
notes = CharField(required=False, widget = forms.Textarea(attrs={'rows': '4'}))
email = EmailField(required=False)
phone = CharField(required=False)
address …Run Code Online (Sandbox Code Playgroud)