我是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
答案 0 :(得分:1)
您应该从django管理页面中删除字段。 fields
类中有一个属性admin.ModelAdmin
。它不会在管理页面中显示此字段。此外,在模型的保存方法中,可以删除if语句。