首页 文章

在为夹具使用loaddata时是否会调用模型的save()方法?

提问于
浏览
2

我试图为模型生成一个自动slug,只要它是空的,来自另一个字段 . 这是代码:

class Position(RichText):
    name = models.CharField(max_length=200)
    slug = models.SlugField(null=True)

    def position_description(self):
        return self.content

    def __unicode__(self):
        return self.name

    def save(self, *args, **kwargs):
        if not self.slug:
            self.slug = slugify(self.name)

        super(Position, self).save(*args, **kwargs)

当我使用loaddata加载初始灯具时,似乎永远不会触发 save() 方法 . 这是正常的行为吗?我怎么能 grab 灯具呢?

1 回答

  • 2

    这是正常行为,来自documentation

    处理夹具文件时,数据将按原样保存到数据库中 . 不调用模型定义的保存方法和pre_save信号

    .

相关问题