Python 保存时自动增加冲突段塞
我需要的博客文章鼻涕虫是唯一的每个用户的基础上。当用户在我的Django项目中保存一篇新文章时,我希望它检查slug是否存在,如果存在,则在其末尾添加一个-1 最好的方法是什么?我在下面添加了我的代码,它总是添加-1,我相信有更好的方法可以做到这一点Python 保存时自动增加冲突段塞,python,django,Python,Django,我需要的博客文章鼻涕虫是唯一的每个用户的基础上。当用户在我的Django项目中保存一篇新文章时,我希望它检查slug是否存在,如果存在,则在其末尾添加一个-1 最好的方法是什么?我在下面添加了我的代码,它总是添加-1,我相信有更好的方法可以做到这一点 class Post(models.Model): ... def save(self, *args, **kwargs): posts = Post.objects.filter(user=self.user, slug=sel
class Post(models.Model):
...
def save(self, *args, **kwargs):
posts = Post.objects.filter(user=self.user, slug=self.slug)
if self not in posts:
self.slug = self.slug + '-1'
super(Post, self).save(*args, **kwargs)
我觉得很有用
与您的主要区别在于,它使用
while
语句来检查/blog-title-1/是否存在,如果不存在,它会尝试/blog-title-2/等,直到找到可用的slug。当有第二个(或第三个…)重复时会发生什么情况?当前为-1-1,-1-1-1。。也不理想