Я думаю, что необходимо забрать любую книгу шаблона разработки и считать введение. После того как Вы получаете то, что является шаблоном разработки, Вам ответят на этот вопрос.
Если вы используете ярлык для декоративных целей (а не для поиска), лучше всего его генерировать динамически.
Кроме того, опубликованный вами образец кода может быть записан следующим образом:
@property
def slug(self):
return slugify(self.title)
Обратной стороной будет то, что вы автоматически генерируете слаг при каждом рендеринге страницы. Положительным моментом является то, что вы не занимаетесь местом в базе данных с полем, которое никогда не будет запрашиваться напрямую.
В любом случае это нормально, это просто зависит от вашей производительности и требований к пространству.
Основным недостатком динамического создания заголовков является то, что вы упускаете возможность настраивать заголовки для каждого объекта, например. сделайте их короче и красивее. Для англоязычных заголовков это может быть нормально, но для неанглийского контента ярлыки могут быть уродливыми.