def create_slug_for_model(self, model):
# prepare query set to generate slug
model_type = ContentType.objects.get_for_model(model)
queryset = self.get_queryset().exclude(
object_id=model.id,
content_type=model_type
)
# generate slugname
slug_text = unique_slugify(model.name, queryset=queryset,
default_slug=model.__class__.__name__)
# if not slug exists, create
if not self.get_queryset().filter(
object_id=model.id,
content_type=model_type,
slug=slug_text
).count():
s = self.create(content_object=model, slug=slug_text)
s.save()
# update slug on model
model.slug = slug_text
model.save()
评论列表
文章目录