0
我试图创建者的名字,这将有明显的重复独特的蛞蝓。我的想法是将ID添加到蛞蝓作为唯一标识符。问题是直到保存完成后才会生成唯一标识。使用唯一的ID定制保存
这是我的尝试:
def save(self, *args, **kwargs):
if getattr(self, 'name', True):
if not self.pk:
matching_slugs = Entity.objects.filter(slug=slugify(self.name))
print matching_slugs
if len(matching_slugs) > 0:
self.slug=slugify(self.name+' temp')
elif len(matching_slugs) == 0:
self.slug=slugify(self.name)
super(Entity, self).save(*args, **kwargs)
self.slug=slugify(self.name+' '+str(self.id))
self.save()
我得到的错误:
maximum recursion depth exceeded in cmp
我在想这是不是要做到这一点的最好办法。
我怎样才能让名字上保存独特之处?
只要删除'self.save()' – AndMar
但是,为什么你做不使用https://docs.djangoproject.com/en/1.11/ref/models/fields/#slugfield与'独特= TRUE' – AndMar
你特别需要蛞蝓是'name' +'pk'或者你只是需要一个独特的slu??如果你告诉我们你是怎么想用这个金属块它可以帮助。 – petroleyum