是否有办法在Django Queryset上执行python代码?
我将数据以字节的形式存储在数据库中,我想将它们转换为"B", "KB", "MB", "GB", "TB", "PB", "EB", " z", " y"。在传递给视图之前,有什么方法可以转换它们吗?
def get_context_data(self, *args, **kwargs):
context = super().get_context_data(*args, **kwargs)
context['user'] = (
DataVolume.objects.values('user')
.order_by('user')
.annotate( imgs=Sum('imgs'),
size=SumConvertBytes('user_bytes'),
),
)
格式不属于查询集,而属于模板。Django已经有了|filesizeformat
[Django-doc]:
因此,在查询集中您只需求和,而在模板中您使用:
{{ size|filesizeformat}}