Python ';非类型';对象没有属性';记录数量';
这是我的表格:Python ';非类型';对象没有属性';记录数量';,python,django,Python,Django,这是我的表格: class HistoryForm(UserSensitiveForm): number_records = forms.CharField(disabled=True,widget=Label()) percentage_of_records = forms.CharField(disabled=True, widget=Label()) class Meta: model = History fields = ['n
class HistoryForm(UserSensitiveForm):
number_records = forms.CharField(disabled=True,widget=Label())
percentage_of_records = forms.CharField(disabled=True, widget=Label())
class Meta:
model = History
fields = ['number_records','percentage_of_records']
disabled_fields = ['number_records', 'percentage_of_records']
def __init__(self, *args, **kwargs):
super(HistoryForm, self).__init__(*args, **kwargs)
self.fields['percentage_of_records'] = forms.CharField(initial=self.instance.percentage_of_records, widget=Label(), disabled=True)
这是我的模型:
class History(models.Model):
"""The base model for history that are run"""
user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
rule = models.ForeignKey("Rule", on_delete=models.SET_NULL, null=True)
job = models.ForeignKey("Job", on_delete=models.SET_NULL, null=True)
number_records = models.IntegerField(null=True, default=0)
@property
def percentage_of_records(self):
percentage_of_records = History.objects.filter(job=self.job).aggregate(Sum('number_records'))['number_records__sum']
return '{0:.2f}%'.format(percentage_of_records/self.job.number_records)
在UI上运行时出现上述错误。任何主体都可以在这方面提供帮助
我有上面的表格
如果self.instance不是None:
但它仍然显示上述错误。我想,只有一个 添加完整堆栈跟踪您的意思是定义初始值(self,*args,**kwargs):super(HistoryForm,self)。\uu初始值(*args,**kwargs)try:self.fields['percentage_of_records']=forms.CharField(initial=self.instance.percentage_of_records,widget=Label(),disabled=True)可以提供更多详细信息。
self.job在数据库中可以为null,在Python中可以将null转换为None
。您是否检查了self.job不是None?它在此行中显示错误,返回“{0:.2f}%.”格式(self.job.number\u记录的百分比)