Python 提供唯一id时超过最大递归深度

Python 提供唯一id时超过最大递归深度,python,django,django-models,recursion,uniqueidentifier,Python,Django,Django Models,Recursion,Uniqueidentifier,我想为数据库中不同类别的模型提供唯一的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)

我想为数据库中不同类别的模型提供唯一的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 obects。为什么会发生这种情况?

我想你应该用
super(Event,self).save()替换
self.save()
。从Event save方法中获取参数并向上传递也可能不是一个坏主意:

def save(self, *args, **kwargs):
    #... other code here
    super(Event, self).save(*args, **kwargs)

该死,我完全忘了。谢谢