我想为我的数据库中不同类别的模型提供唯一的 ID。所以我引入了一个虚拟模型:
class GUUID(models.Model):
guuid = models.PositiveSmallIntegerField(_(u"Dummy GUUID"), default=1)
在模型中我想要有唯一的ID:
class Event(models.Model):
unique = models.IntegerField(blank=False, editable=False)
def save(self):
guuid = GUUID()
guuid.save()
self.unique = guuid.id
self.save()
但是当保存我的模型时,我得到:
调用 Python 对象时超出最大递归深度
,并且数据库中有 997 个 QUUID 对象。为什么会发生这种情况?
最佳答案
我认为您想将 self.save()
替换为 super(Event, self).save()
。从事件保存方法中获取参数并将其传递出去也可能不是一个坏主意:
def save(self, *args, **kwargs):
#... other code here
super(Event, self).save(*args, **kwargs)
关于python - 提供唯一 ID 时超出最大递归深度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3991008/