(Django) предварительно заполнить поле и запретить редактирование - PullRequest
0 голосов
/ 12 июля 2010

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

Ответы [ 3 ]

3 голосов
/ 12 июля 2010

django-autoslug может быть полезным.

например:

from autoslug.fields import AutoSlugField

class FooModel(models.Model):
    title = models.CharField(max_length=200)
    pub_date = models.DateField(auto_now_add=True)
    slug = AutoSlugField(populate_from='title', unique_with='pub_date__month')
1 голос
/ 12 июля 2010

Из того, что я понимаю, существует предпопуляция, позволяющая предварительно заполнить редактируемое поле в форме администратора.Если вы хотите, чтобы содержимое одного поля автоматически генерировалось на основе другого, то предварительное заполнение - это не то, что вам нужно.

Обычно я делаю это, устанавливая поле как недоступное для редактирования, не предварительно заполняя его,переопределение метода save () модели для получения значения из другого поля по мере необходимости.

Для автоматической генерации уникального слага предложением Ашока является путь.

...