我有裁剪模型:
class Crop(models.Model):
species = models.ForeignKey(Species, null=True)
def pref_common_name(self):
pcn = self.commonname_set.filter(preferred=True)
if pcn[0]:
return pcn[0]
else:
return "No Preferred Common Name"
def __unicode__(self):
return "%s (%s)" % (self.pref_common_name, self.species)
有许多常用名称:
class CommonName(models.Model):
name = models.CharField(max_length=100, null=True)
preferred = models.BooleanField(default=False)
crop = models.ForeignKey(Crop, null=True)
def save(self, *args, **kwargs):
if self.preferred:
try:
temp = CommonName.objects.get(preferred=True, crop=self.crop)
if self != temp:
temp.preferred = False
temp.save()
except CommonName.DoesNotExist:
pass
super(CommonName, self).save(*args, **kwargs)
def __unicode__(self):
return self.name
当调用__unicode__
方法时,我得到递归错误。但我不明白为什么会这样。有人能解释一下我的原因吗?我应该能够从unicode方法中获取相关对象的字符串,对吧?
感谢。
答案 0 :(得分:2)
在With wksPivotData
.Range(.Cells(currentRow, 1), .Cells(currentRow, 1)).Resize(tbl.ListedRows.Count, tbl.ListColumns.Count).Value = tbl.Range.Value
End With
的保存方法中,您调用CommonName
会导致错误。