Python Django自动生成字段不存在形式

时间:2018-09-21 23:35:46

标签: python django python-3.x django-models django-forms

我是django的新手,我有一个Web应用程序,其中有一个名为Template的模型。 该模型具有一个称为主体的字段和一个称为令牌的字段。 样本正文为:“我是{{first_name}} {{last_name}}” 我希望令牌字段由逗号分隔的值填充:“ first_name,last_name” 因此,在用于创建和更改的管理表单中,我不想被询问此字段值。 如何在Django中实现这一目标? 这是我尝试过的方法,不起作用。

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 :(得分:1)

您应该从django管理页面中删除字段。 fields类中有一个属性admin.ModelAdmin。它不会在管理页面中显示此字段。此外,在模型的保存方法中,可以删除if语句。