问题描述
我想在进度条中跟踪每个 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)
我想显示如下格式的百分比
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)