Переопределить Django Slug
У меня есть блог в wagtail. В модели Wagtail по умолчанию Page
уже определено поле slug. Полный пример здесь
slug = models.SlugField(
verbose_name=_("slug"),
У меня есть подкласс AddStory
класса Page
, поэтому я не могу определить slug там. И я получаю ошибку столкновения.
Проблема:
Поле slug автоматически генерирует slug из заголовка. Таким образом, есть некоторые виды событий, название которых всегда будет одинаковым. Например Jokes of the day
, Поэтому первые 10 или 20 дней, редакторы будут знать, что они добавили 20 постов с day_1,day_2... в конце slug, а когда количество дней увеличится, они не смогут вспомнить, сколько они ввели?
Вероятное решение
Итак, если я могу автоматизировать slug, как он будет генерировать slug из случайных id или строк, и он будет уникальным.
Я попробовал это в подклассе AddStory
def pre_save(self):
def randomid1(self):
return(get_random_string(length=10))
self.slug = randomid1
Как я могу определить, что он не будет генерировать slug из заголовка, вместо этого он будет генерировать slug из заданных случайных строк?