我正在尝试使用 state.Context.UserData.TryGetValue<string>("Name", out userName);
state.Name = userName;
从数据库导出某些记录,但在导出时,Django
字段的类型表示为amount
而不是string
。
我的代码
decimal
模型
from django.contrib.humanize.templatetags.humanize import intcomma
import django_excel as excel
def download(request):
records = []
now = datetime.datetime.now()
for reservation in Reservation.objects.sifted(request):
record['Amount (EUR)'] = intcomma(reservation.amount)
records.append(record)
return excel.make_response_from_records(
records,
'xls',
file_name="export_reservations_{}".format(now.strftime('%d_%m_%Y').replace(".",","))
)
这会生成像amount = DecimalField(max_digits=6,
decimal_places=2,
null=True,
default="0.00",
verbose_name='Amount')
这样的格式,但它是正确的格式。
如果我12.12
,我会得到十进制类型,但格式为Decimal(intcomma(reservation.amount))
,并带有浮点数。
如何在导出中以正确的格式(xx.xx)获取小数?
答案 0 :(得分:1)
它真的需要是小数吗?为什么不呢:
record['Amount (EUR)'] = round(reservation.amount, 2)