Python Django 自动生成字段在表单中不存在



我是 django 的新手,我有一个 Web 应用程序,其中我有一个名为 Template 的模型。 此模型有一个称为 body 的字段和一个称为令牌的字段。 示例正文将是:"我是 {{ 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)

蟒蛇 3.7.0

姜戈 2.1.1

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

最新更新