Как добавить вычисляемое значение по умолчанию в модель Django?

Я хочу добавить поле slug в существующую модель, и значение должно быть вычислено с помощью функции Django slugify на основе поля title. Как это можно сделать? Я понимаю, что могу переопределить метод save класса модели и сделать все там, это будет работать для всех будущих сохраненных экземпляров, но есть ли элегантный способ заполнить это поле и для существующих строк?

Вы можете использовать этот пакет для автогенерации вашего slugfield: https://django-autoslug.readthedocs.io/en/latest/fields.html

from django.db import models
from autoslug import AutoSlugField

class MyModel(models.Model):
    title = models.CharField(max_length=200)
    slug = AutoSlugField(populate_from='title')
Вернуться на верх