Django model.save () не работает с loaddata

У меня есть модель, которая переопределяет save () для создания поля:

class MyModel(models.Model):
    name = models.CharField(max_length=200)
    slug = models.SlugField(max_length=200)

    def save(self, *args, **kwargs):
        self.slug = slugify(self.name)
        super(MyModel, self).save(*args, **kwargs)

Когда я запускаю данные загрузки для загрузки прибора, этот save () не вызывается, потому что поле заголовка пусто в базе данных. Я что-то упустил?

Я могу заставить его работать с помощью сигнала ловушки pre_save, но это немного уловка, и было бы неплохо заставить работать save () .

def mymodel_pre_save(sender, **kwargs):
    instance = kwargs['instance']
    instance.slug = slugify(instance.name)

pre_save.connect(mymodel_pre_save, sender=MyModel)

Спасибо за аванс.

9
задан Barry Hurley 22 September 2011 в 00:39
поделиться