考虑以下(简化)Django模型:
Noun(models.Model):
noun = models.CharField(max_length=30)
plural = models.CharField(max_length=30)
我希望能够在名词字段中输入'cat',并让复数字段自动填充'cats'。也就是说,我想定义一个要附加到预填充字段末尾的字符串。这可能吗?
我知道我可以使用admin.py中的相应设置用'cat'预填充它,但这还不够。当然,在预填充之后我能够编辑条目也是很重要的(如果是不规则的话)。任何想法都会非常感激。
答案 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客户端执行此操作,因此数据输入人员可以更正它是否不正确。