无法在 django admin 中获取进度计数

问题描述

我想在进度条中跟踪每个 company 下的 source 刷新数据。

公司模式

class Company(models.Model):
        
        name=models.CharField(db_index=True,max_length=50000,blank= True,null=True)
        source_name= models.ManyToManyField(Source,blank= True)
     
        
        def __str__ (self):
            return str(self.name)
     
        def source(self):
            # return self.source_name.get()
            return ",".join([p.source_name for p in self.source_name.all()])

源模型

class Source(models.Model):
    source_name = models.CharField(max_length=285,blank= False,null=True)
    slug = models.CharField(max_length=32,blank=True,null=True)
    modified_by = models.ForeignKey(User,null=True,on_delete=models.SET_NULL)
    missing_data = models.BooleanField(default=False)
    refresh_data = models.BooleanField(default=False)
    email_refresh_days = models.IntegerField(default=0,blank = True)

    def refreshed_data(self):
        if self.refresh_data and self.missing_data:
            percentage = round((self.refresh_data / self.missing_data * 100),2)
        else:
            percentage = 0
        return format_html(
            '''
            <progress value="{0}" max="100"></progress>
            <span style="font-weight:bold">{0}%</span>
            ''',percentage
        )

管理员

class SourceAdmin(admin.ModelAdmin):
        list_display= ('id','source_name','missing_data','refresh_data','email_refresh_days','modified_date_refresh','modified_date_search','date_added','refreshed_data')
        search_fields = ['id',]
        readonly_filds =('refreshed_data')
        ordering = ['-date_modified']
    def save_model(self,request,obj,form,change):
        if 'missing_data' in form.changed_data:
            obj.modified_date_missing = timezone.now()
        
        if 'refresh_data' in form.changed_data:
            obj.modified_date_refresh = timezone.now()

        if 'search_appearance' in form.changed_data:
            obj.modified_date_search = timezone.now()
        
        

        obj.modified_by = request.user
        obj.save()
        

admin.site.register(Source,SourceAdmin)

我想显示如下格式的百分比

Refreshed Data

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...