首页 > 解决方案 > 在管理面板 Django 中定义十进制格式

问题描述

我创建了一个定义来获取与项目相关的已完成任务的百分比。

class ProjectAdmin(ImportExportModelAdmin,admin.ModelAdmin):
    #...
    def percentage(sef, obj):
        return obj.todo_set.filter(state = True).count() * 100 / obj.todo_set.all().count()
    #...
    list_display = ['project_title', 'category_list', 'date_format', 'crq_count', 'task_count', 'percentage', 'file_count', 'state']

在此处输入图像描述

我想消除小数并将其转换为整数

最后,想法是,如果所有任务都完成了,项目状态应该转到完成

class Project(models.Model):
    #...
    state = models.BooleanField(blank=True, null = True, default = False)

标签: pythondjango

解决方案


您可以在检索百分比时将获得的值四舍五入:

class ProjectAdmin(ImportExportModelAdmin,admin.ModelAdmin):
    
    # …
    
    def percentage(sef, obj):
        return round(
           obj.todo_set.filter(state=True).count() * 100 / obj.todo_set.all().count()
        )

推荐阅读