Поле автоматического создания Python Django отсутствует в форме - PullRequest
0 голосов
/ 22 сентября 2018

Я новичок в django и у меня есть веб-приложение, в котором у меня есть модель с именем Template.эта модель имеет одно поле, называемое телом, и одно поле, называемое токенами.Пример тела: «Я {{first_name}} {{last_name}}». Я хочу, чтобы поле токенов заполнялось значениями, разделенными запятыми: «first_name, last_name», поэтому в форме администратора для создания и изменения я не хочузапросить это значение поля.Как я могу добиться этого в Джанго?вот что я попробовал, но это не работает.

class SmsTemplate(models.Model):
    """ Message SMS Template """
    name = models.CharField(max_length=255)
    body = models.TextField()
    tokens = models.SlugField()
    created = models.DateTimeField(auto_now_add=True)

    def save(self, *args, **kwargs):
        if self.pk is None:
            self.tokens = ",".join(re.findall(r'{{\s*(.*?)\s*}}', self.body))
        super().save(*args, **kwargs)

python 3.7.0

django 2.1.1

1 Ответ

0 голосов
/ 22 сентября 2018

Вы должны удалить поле со страницы администратора django.В классе admin.ModelAdmin есть атрибут fields.Это поле не будет отображаться на странице администратора.Кроме того, в методе сохранения модели вы можете удалить оператор if.

...