Django预填充+附加固定字符串

时间:2011-08-05 20:30:21

标签: python django django-models django-admin

考虑以下(简化)Django模型:

Noun(models.Model):
    noun = models.CharField(max_length=30)
    plural = models.CharField(max_length=30)

我希望能够在名词字段中输入'cat',并让复数字段自动填充'cats'。也就是说,我想定义一个要附加到预填充字段末尾的字符串。这可能吗?

我知道我可以使用admin.py中的相应设置用'cat'预填充它,但这还不够。当然,在预填充之后我能够编辑条目也是很重要的(如果是不规则的话)。任何想法都会非常感激。

1 个答案:

答案 0 :(得分:2)

将复数空白= True并在save()中执行类似的操作:

def save(self, *args, **kwargs):
    if not self.plural:
        self.plural = self.noun + 's'
    super(Noun, self).save(*args, **kwargs)

我实际上会在javascript客户端执行此操作,因此数据输入人员可以更正它是否不正确。